diff options
author | des <des@FreeBSD.org> | 2001-05-27 11:00:36 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2001-05-27 11:00:36 +0000 |
commit | 1d4297a2b239d27258d1b7d0e8def340b6bcb721 (patch) | |
tree | 3b04545dc176b8f893c6bbfd602c90220e1f81ba | |
parent | c652271f23831ecdba0750810e9fd464605d5e72 (diff) | |
download | FreeBSD-src-1d4297a2b239d27258d1b7d0e8def340b6bcb721.zip FreeBSD-src-1d4297a2b239d27258d1b7d0e8def340b6bcb721.tar.gz |
Implement a HTTP_USER_AGENT environment variable.
PR: 27669
Submitted by: Eoin Lawless <eoin@maths.tcd.ie>
-rw-r--r-- | lib/libfetch/fetch.3 | 4 | ||||
-rw-r--r-- | lib/libfetch/http.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/libfetch/fetch.3 b/lib/libfetch/fetch.3 index c4d60a4..4534d64 100644 --- a/lib/libfetch/fetch.3 +++ b/lib/libfetch/fetch.3 @@ -512,6 +512,10 @@ variable. This variable is used if and only if connected to an HTTP proxy, and is ignored if a user and/or a password were specified in the proxy URL. +.It Ev HTTP_USER_AGENT +Specifies the User-Agent string to use for HTTP requests. +This can be useful when working with HTTP origin or proxy servers that +differentiate between usder agents. .El .Sh SEE ALSO .Xr fetch 1 , diff --git a/lib/libfetch/http.c b/lib/libfetch/http.c index 77c3a2d..5863c80 100644 --- a/lib/libfetch/http.c +++ b/lib/libfetch/http.c @@ -777,7 +777,10 @@ _http_request(struct url *URL, const char *op, struct url_stat *us, } /* other headers */ - _http_cmd(fd, "User-Agent: %s " _LIBFETCH_VER, __progname); + if ((p = getenv("HTTP_USER_AGENT")) != NULL && *p != '\0') + _http_cmd(fd, "User-Agent: %s", p); + else + _http_cmd(fd, "User-Agent: %s " _LIBFETCH_VER, __progname); if (url->offset) _http_cmd(fd, "Range: bytes=%lld-", url->offset); _http_cmd(fd, "Connection: close"); |