{"version":3,"sources":["webpack:///./src/views/Chap18GoModuleProxies.vue?3c4d","webpack:///src/views/Chap18GoModuleProxies.vue","webpack:///./src/views/Chap18GoModuleProxies.vue?935a","webpack:///./src/views/Chap18GoModuleProxies.vue","webpack:///./src/assets/images/go_proxy_not_available.png","webpack:///./src/assets/images/forward_proxy.png","webpack:///./src/assets/images/go_proxy_env_conf.png","webpack:///./src/assets/images/go_proxy_found.png"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_v","directives","name","rawName","pre","staticRenderFns","components","FeedbackInvite","BuyCopyInvite","NewsletterInput","ChapterHeading","ChapterBibliography","TOCChapter","NavBar","BIconLink45deg","Footer","created","window","data","publicPath","metaInfo","title","htmlAttrs","lang","meta","charset","content","property","link","rel","href","component","module","exports"],"mappings":"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","file":"js/chunk-a26ac402.575812a6.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('NavBar'),_c('div',{staticClass:\"container-fluid\"},[_c('b-row',[_c('TOCChapter',{attrs:{\"chapter-id\":\"Chap18GoModuleProxies\"}}),_c('b-col'),_c('b-col',{attrs:{\"role\":\"main\",\"md\":\"6\"}},[_c('ChapterHeading',{attrs:{\"chapter-title\":\"Chapter 18: Go Module Proxies\",\"image-name\":\"proxy.jpg\",\"image-alt\":\"Go Module Proxies\"}}),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"what-will-you-learn-in-this-chapter\"}}),_c('h1',{attrs:{\"data-number\":\"1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"1\")]),_vm._v(\" What will you learn in this chapter? \"),_c('a',{attrs:{\"href\":\"#what-will-you-learn-in-this-chapter\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ul',[_c('li',[_c('p',[_vm._v(\"What is a module proxy?\")])]),_c('li',[_c('p',[_vm._v(\"The reasons behind the creation of a module proxy.\")])]),_c('li',[_c('p',[_vm._v(\"How to configure the go Module proxy.\")])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"technical-concepts-covered\"}}),_c('h2',{attrs:{\"data-number\":\"1.1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"1.1\")]),_vm._v(\" Technical concepts covered \"),_c('a',{attrs:{\"href\":\"#technical-concepts-covered\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ul',[_c('li',[_c('p',[_vm._v(\"Proxy Server\")])]),_c('li',[_c('p',[_vm._v(\"Forward Proxy\")])]),_c('li',[_c('p',[_vm._v(\"Server / Client\")])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"introduction\"}}),_c('h1',{attrs:{\"data-number\":\"2\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"2\")]),_vm._v(\" Introduction \"),_c('a',{attrs:{\"href\":\"#introduction\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"The go get command uses a \"),_c('strong',[_vm._v(\"proxy\")]),_vm._v(\" to fetch the latest releases of modules. In this section, we will detail how this proxy works.\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"what-is-a-proxy-server\"}}),_c('h1',{attrs:{\"data-number\":\"3\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"3\")]),_vm._v(\" What is a proxy server? \"),_c('a',{attrs:{\"href\":\"#what-is-a-proxy-server\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ul',[_c('li',[_c('p',[_vm._v(\"A server is an application that provides functionality for other programs which are called \"),_c('strong',[_vm._v(\"clients\")]),_c('a',{staticClass:\"footnote-ref\",attrs:{\"href\":\"#fn1\",\"id\":\"fnref1\",\"role\":\"doc-noteref\"}},[_c('sup',[_vm._v(\"1\")])])]),_c('ul',[_c('li',[_vm._v(\"Clients are, for instance, web browsers\")])])]),_c('li',[_c('p',[_vm._v(\"When this application provides functionality via the internet, we call it a “Web Server”.\")])]),_c('li',[_c('p',[_vm._v(\"A Proxy Server is a special kind of server.\")])]),_c('li',[_c('p',[_vm._v(\"It will act as an intermediary between the clients and one or more servers.\")])])]),_c('p',[_vm._v(\"A proxy server will receive requests for resources those request can for instance :\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"handle the request directly\")])]),_c('li',[_c('p',[_vm._v(\"forward it to the servers behind it (we call this kind of proxy server “Forward proxy”)\")])]),_c('li',[_c('p',[_vm._v(\"stop the request\")])])]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/forward_proxy.png'),\"alt\":\"Sequence diagram of a forward proxy\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"Sequence diagram of a forward proxy\")])],1),_c('p',[_vm._v(\"Proxy servers have many use cases :\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"Filter and monitor internet traffic.\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"Companies intensively use forward proxies to keep an eye on employees activity\")])]),_c('li',[_c('p',[_vm._v(\"They may also block some requests to forbidden websites\")])])])]),_c('li',[_c('p',[_vm._v(\"Caching\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"We can use proxies to cache resources.\")])]),_c('li',[_c('p',[_vm._v(\"Instead of calling the server targeted, they will send a cached response to the client.\")])])])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"the-reasons-behind-the-birth-of-the-go-module-proxy\"}}),_c('BuyCopyInvite'),_c('h1',{attrs:{\"data-number\":\"4\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"4\")]),_vm._v(\" The reasons behind the birth of the Go Module Proxy \"),_c('a',{attrs:{\"href\":\"#the-reasons-behind-the-birth-of-the-go-module-proxy\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"The Go Module Proxy is a recent addition to the language tooling. Before the go get command downloaded, the module \"),_c('strong',[_vm._v(\"directly\")]),_vm._v(\" from the code-sharing website. It has some drawbacks :\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"A module can be deleted from the site sharing website by the developer.\")])]),_c('li',[_c('p',[_vm._v(\"A version can also be deleted.\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"A tag was deleted...\")])]),_c('li',[_c('p',[_vm._v(\"A commit can be removed...\")])])])])]),_c('p',[_vm._v(\"If your application depends on this module building your Go application might be \"),_c('strong',[_vm._v(\"impossible\")]),_vm._v(\".\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"how-does-it-work\"}}),_c('h1',{attrs:{\"data-number\":\"5\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"5\")]),_vm._v(\" How does it Work \"),_c('a',{attrs:{\"href\":\"#how-does-it-work\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"The go get command can fetch dependencies from a module proxy server without touching the original server that hosts the code (GitHub, GitLab,...).\")]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/go_proxy_found.png'),\"alt\":\"The Go Command (go get) try to fetch modules from the proxy server\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"The Go Command (go get) try to fetch modules from the proxy server\")])],1),_c('p',[_vm._v(\"When the code is not available on the proxy server, Go can download it directly from the hosting server.\")]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/go_proxy_not_available.png'),\"alt\":\"When the module is not on the proxy\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"When the module is not on the proxy\")])],1),_c('p',[_vm._v(\"We can change this behavior through an environment variable.\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"configuration-of-the-go-module-proxy\"}}),_c('h1',{attrs:{\"data-number\":\"6\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"6\")]),_vm._v(\" Configuration of the Go Module Proxy \"),_c('a',{attrs:{\"href\":\"#configuration-of-the-go-module-proxy\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"The proxy configuration is set into the environment variable \"),_c('strong',[_vm._v(\"GOPROXY.\")])]),_c('p',[_vm._v(\"By typing the command\")]),_c('pre',{attrs:{\"data-float\":\"\"}},[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"go env GOPROXY\")])])]),_c('p',[_vm._v(\"you can check its current value. At the time of writing, the default value is :\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"https://proxy.golang.org,direct\")])]),_c('ul',[_c('li',[_c('p',[_vm._v(\"The value of \"),_c('strong',[_vm._v(\"GOPROXY\")]),_vm._v(\" is a list\")])]),_c('li',[_c('p',[_vm._v(\"The list is separated by commas “,” or pipes “|”\")])]),_c('li',[_c('p',[_vm._v(\"It is composed of URLs of Go modules proxy and/or special keywords.\")])]),_c('li',[_c('p',[_vm._v(\"The keywords available are\")]),_c('p',[_vm._v(\"“off” : it means turn off the feature\")]),_c('p',[_vm._v(\"“direct” : it instructs the tool to download it directly from the code hosting server.\")])])]),_c('p',[_vm._v(\"Go will attempt to download new modules from each specified Go Module Proxy URLs from left to right. When it encounters the keyword “\"),_c('strong',[_vm._v(\"direct\")]),_vm._v(\"” it will try to download the module directly from the source hosting website.\")]),_c('figure',[_c('b-img',{staticClass:\"img-book\",attrs:{\"src\":require('@/assets/images/go_proxy_env_conf.png'),\"alt\":\"GOPROXY environment configuration\",\"fluid\":\"\",\"thumbnail\":\"\"}}),_c('figcaption',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"GOPROXY environment configuration\")])],1),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"disable-go-module-proxy\"}}),_c('h2',{attrs:{\"data-number\":\"6.1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"6.1\")]),_vm._v(\" Disable Go Module Proxy \"),_c('a',{attrs:{\"href\":\"#disable-go-module-proxy\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"To disable the feature completely set the \"),_c('strong',[_vm._v(\"GOPROXY\")]),_vm._v(\" env to the value “\"),_c('strong',[_vm._v(\"off\")]),_vm._v(\"”\")]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"the-four-endpoints-of-a-go-module-proxy-advanced\"}}),_c('h1',{attrs:{\"data-number\":\"7\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"7\")]),_vm._v(\" The four endpoints of a Go Module Proxy (advanced) \"),_c('a',{attrs:{\"href\":\"#the-four-endpoints-of-a-go-module-proxy-advanced\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"A go module proxy will expose four endpoints (all GET) \"),_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"//@v/list\")])]),_vm._v(\" : get the list of versions known by the proxy server.\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"Ex : https://proxy.golang.org/ \"),_c('strong',[_vm._v(\"gitlab.com/loir402/bluesodium\")]),_vm._v(\"/@v/ \"),_c('strong',[_vm._v(\"list\")])]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"v1.0.0\\nv1.0.1\")])])])]),_c('p',[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"//@latest\")])]),_vm._v(\" : get the latest version info formated in JSON\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"Ex : https://proxy.golang.org/ \"),_c('strong',[_vm._v(\"gitlab.com/loir402/bluesodium\")]),_vm._v(\"/@v/latest\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"{\\\"Version\\\":\\\"v1.0.1\\\",\\\"Time\\\":\\\"2021-01-20T18:49:34Z\\\"}\")])])])]),_c('p',[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"//@v/.info\")])]),_vm._v(\" : get the metadata about the module’s version and the time at which it was committed.\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"Ex : https://proxy.golang.org/ \"),_c('strong',[_vm._v(\"gitlab.com/loir402/bluesodium\")]),_vm._v(\"/@v/v1.0.1 \"),_c('strong',[_vm._v(\".info\")])]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"{\\\"Version\\\":\\\"v1.0.1\\\",\\\"Time\\\":\\\"2021-01-20T18:49:34Z\\\"}\")])])])]),_c('p',[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"//@v/.mod\")])]),_vm._v(\" : return the go.mod file of the given version\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"Ex : https://proxy.golang.org/ \"),_c('strong',[_vm._v(\"gitlab.com/loir402/bluesodium\")]),_vm._v(\"/@v/v1.0.1 \"),_c('strong',[_vm._v(\".mod\")])])]),_c('p',[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"//@v/.zip\")])]),_vm._v(\" : return the zipped version of the module.\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"Ex : https://proxy.golang.org/ \"),_c('strong',[_vm._v(\"gitlab.com/loir402/bluesodium\")]),_vm._v(\"/@v/v1.0.1 \"),_c('strong',[_vm._v(\".zip\")])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"common-error-the-newest-version-is-not-downloaded\"}}),_c('BuyCopyInvite'),_c('h1',{attrs:{\"data-number\":\"8\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"8\")]),_vm._v(\" Common error: the newest version is not downloaded \"),_c('a',{attrs:{\"href\":\"#common-error-the-newest-version-is-not-downloaded\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('p',[_vm._v(\"When a newer minor or patch is available for the module, the command\")]),_c('pre',{attrs:{\"data-float\":\"\"}},[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"go get -u modulePath\")])])]),_c('p',[_vm._v(\"will not always download it immediately. The service has a cache in place to improve performance. Hence to solve this, you have two solutions :\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"Wait and try later (the cache will be invalidated)\")])]),_c('li',[_c('p',[_vm._v(\"Target specifically the version you want to use in the go get command\")]),_c('pre',{attrs:{\"data-float\":\"\"}},[_c('span',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\",\"style\":\"display: inline\"}},[_vm._v(\"go get -u modulePath@v1.0.2\")])])])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"useful-links-to-debug-issues\"}}),_c('h1',{attrs:{\"data-number\":\"9\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"9\")]),_vm._v(\" Useful links to debug issues \"),_c('a',{attrs:{\"href\":\"#useful-links-to-debug-issues\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ul',[_c('li',[_c('p',[_vm._v(\"How to \"),_c('strong',[_vm._v(\"get the list of available versions\")]),_vm._v(\" for a module on a proxy?\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"https://PROXY_URL/MODULE_PATH/@v/list\")])]),_c('ul',[_c('li',[_c('p',[_vm._v(\"Ex : https://proxy.golang.org/gitlab.com/loir402/bluesodium/@v/list\")]),_c('ul',[_c('li',[_vm._v(\"Will output the list of versions available for a given module\")])])]),_c('li',[_c('p',[_vm._v(\"For major version 2 the link is :\")])])])])]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"\\\"https://proxy.golang.org/gitlab.com/loir402/bluesodium/v2/@v/list\\\"\")])]),_c('ul',[_c('li',[_c('p',[_vm._v(\"How to \"),_c('strong',[_vm._v(\"download source code\")]),_vm._v(\" of a module at a specific version\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"https://PROXY_URL/MODULE_PATH/@v/VERSION.zip\")])]),_c('ul',[_c('li',[_c('p',[_vm._v(\"Ex : https://proxy.golang.org/gitlab.com/loir402/bluesodium/@v/v1.0.1.zip\")]),_c('ul',[_c('li',[_vm._v(\"Will trigger the download of the source code\")])])])])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"test-yourself\"}}),_c('h1',{attrs:{\"data-number\":\"10\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"10\")]),_vm._v(\" Test yourself \"),_c('a',{attrs:{\"href\":\"#test-yourself\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"questions\"}}),_c('h3',{attrs:{\"data-number\":\"10.0.1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"10.0.1\")]),_vm._v(\" Questions \"),_c('a',{attrs:{\"href\":\"#questions\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"What is the name of the environment variable that controls the Go Module Proxy usage?\")])]),_c('li',[_c('p',[_vm._v(\"How to disable the usage of module proxies in a go get command?\")])])]),_c('div',{staticClass:\"anchor\",attrs:{\"id\":\"answers\"}}),_c('h2',{attrs:{\"data-number\":\"10.1\"}},[_c('span',{staticClass:\"header-section-number\"},[_vm._v(\"10.1\")]),_vm._v(\" Answers \"),_c('a',{attrs:{\"href\":\"#answers\"}},[_c('b-icon-link45deg',{staticClass:\"heading-link-icon\",attrs:{\"font-scale\":\"0.7\"}})],1)]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_c('p',[_vm._v(\"What is the name of the environment variable that controls the Go Module Proxy usage?\")]),_c('ol',{attrs:{\"type\":\"1\"}},[_c('li',[_vm._v(\"GOPROXY.\")])])]),_c('li',[_c('p',[_vm._v(\"How to disable the usage of module proxies in a go get command?\")]),_c('pre',{directives:[{name:\"highlightjs\",rawName:\"v-highlightjs\"}]},[_c('code',{pre:true,attrs:{\"class\":\"go\"}},[_vm._v(\"$ GOPROXY=\\\"off\\\" go get gitlab.com/loir402/foo\")])])])]),_c('h1',{staticClass:\"unnumbered\",attrs:{\"id\":\"key-takeaways\"}},[_vm._v(\"Key takeaways\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"A Go module proxy is a proxy server that will store Go modules’ code.\")])]),_c('li',[_c('p',[_vm._v(\"Instead of downloading the source code directly from the code hosting server (ex: GitHub), the go command \"),_c('strong',[_vm._v(\"can\")]),_vm._v(\" download it from the proxy server.\")])]),_c('li',[_c('p',[_vm._v(\"Some modules might be unknown to the proxy; in that case, the server will generally add them afterward.\")]),_c('ul',[_c('li',[_c('p',[_vm._v(\"For instance, the official Go Module Proxy has that system in place\")])]),_c('li',[_c('p',[_vm._v(\"Other Go Module Proxies might implement different strategies\")])])])]),_c('li',[_c('p',[_vm._v(\"There is an official Go Proxy available to all, which is https://proxy.golang.org/\")])]),_c('li',[_c('p',[_vm._v(\"You can also deploy your own Go Module Proxy Server / or use a hosted alternative\")])]),_c('li',[_c('p',[_vm._v(\"To use a specific proxy, you will have to modify the GOPROXY variable.\")])])]),_c('section',{staticClass:\"footnotes\",attrs:{\"role\":\"doc-endnotes\"}},[_c('hr'),_c('ol',[_c('li',{attrs:{\"id\":\"fn1\",\"role\":\"doc-endnote\"}},[_c('p',[_vm._v(\"Definition from Wikipedia, see https://en.wikipedia.org/wiki/Server_(computing)\"),_c('a',{staticClass:\"footnote-back\",attrs:{\"href\":\"#fnref1\",\"role\":\"doc-backlink\"}},[_vm._v(\"↩︎\")])])])])]),_c('BuyCopyInvite'),_c('h1',[_vm._v(\"Bibliography\")]),_c('ChapterBibliography',{attrs:{\"chapter-id\":\"Chap18GoModuleProxies\"}}),_c('b-row',{staticClass:\"ml-1 mr-1 \"},[_c('b-col',{staticClass:\"text-center border mr-1 p-2\"},[_c('router-link',{attrs:{\"to\":{name:'Chap17GoModules'}}},[_c('p',[_c('u',[_c('small',[_vm._v(\"Previous\")])])]),_c('p',[_c('small',[_vm._v(\"Go modules\")])])])],1),_c('b-col',{staticClass:\"text-center border p-1 \"},[_c('router-link',{attrs:{\"to\":{name:'Chap19UnitTests'}}},[_c('p',[_c('u',[_c('small',[_vm._v(\"Next\")])])]),_c('p',[_c('small',[_vm._v(\"Unit Tests\")])])])],1)],1),_c('b-row',{staticClass:\"mt-1 ml-1 mr-1\"},[_c('b-col',{staticClass:\"text-center border p-1 \"},[_c('b-link',{attrs:{\"to\":{name:'Home'}}},[_vm._v(\"Table of contents\")])],1)],1),_c('FeedbackInvite'),_c('NewsletterInput'),_c('Footer')],1),_c('b-col')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chap18GoModuleProxies.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chap18GoModuleProxies.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Chap18GoModuleProxies.vue?vue&type=template&id=42095fee&scoped=true&\"\nimport script from \"./Chap18GoModuleProxies.vue?vue&type=script&lang=js&\"\nexport * from \"./Chap18GoModuleProxies.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42095fee\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/go_proxy_not_available.f509aed8.png\";","module.exports = __webpack_public_path__ + \"img/forward_proxy.acee903f.png\";","module.exports = __webpack_public_path__ + \"img/go_proxy_env_conf.fc08cb59.png\";","module.exports = __webpack_public_path__ + \"img/go_proxy_found.bc0f5d04.png\";"],"sourceRoot":""}