Add an option for extending the user agent header
This is useful e.g. for distinguishing traffic to a binary cache (e.g. certain machines can use a different tag in the user agent).
This commit is contained in:
		
							parent
							
								
									62d476c7ee
								
							
						
					
					
						commit
						510bc1735b
					
				
					 2 changed files with 6 additions and 1 deletions
				
			
		| 
						 | 
					@ -220,7 +220,9 @@ struct CurlDownloader : public Downloader
 | 
				
			||||||
            curl_easy_setopt(req, CURLOPT_URL, request.uri.c_str());
 | 
					            curl_easy_setopt(req, CURLOPT_URL, request.uri.c_str());
 | 
				
			||||||
            curl_easy_setopt(req, CURLOPT_FOLLOWLOCATION, 1L);
 | 
					            curl_easy_setopt(req, CURLOPT_FOLLOWLOCATION, 1L);
 | 
				
			||||||
            curl_easy_setopt(req, CURLOPT_NOSIGNAL, 1);
 | 
					            curl_easy_setopt(req, CURLOPT_NOSIGNAL, 1);
 | 
				
			||||||
            curl_easy_setopt(req, CURLOPT_USERAGENT, ("curl/" LIBCURL_VERSION " Nix/" + nixVersion).c_str());
 | 
					            curl_easy_setopt(req, CURLOPT_USERAGENT,
 | 
				
			||||||
 | 
					                ("curl/" LIBCURL_VERSION " Nix/" + nixVersion +
 | 
				
			||||||
 | 
					                    (settings.userAgentSuffix != "" ? " " + settings.userAgentSuffix.get() : "")).c_str());
 | 
				
			||||||
            #if LIBCURL_VERSION_NUM >= 0x072b00
 | 
					            #if LIBCURL_VERSION_NUM >= 0x072b00
 | 
				
			||||||
            curl_easy_setopt(req, CURLOPT_PIPEWAIT, 1);
 | 
					            curl_easy_setopt(req, CURLOPT_PIPEWAIT, 1);
 | 
				
			||||||
            #endif
 | 
					            #endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -318,6 +318,9 @@ public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Setting<unsigned long> connectTimeout{this, 0, "connect-timeout",
 | 
					    Setting<unsigned long> connectTimeout{this, 0, "connect-timeout",
 | 
				
			||||||
        "Timeout for connecting to servers during downloads. 0 means use curl's builtin default."};
 | 
					        "Timeout for connecting to servers during downloads. 0 means use curl's builtin default."};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Setting<std::string> userAgentSuffix{this, "", "user-agent-suffix",
 | 
				
			||||||
 | 
					        "String appended to the user agent in HTTP requests."};
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue