Include an Accept header in requests.

PR:		kern/180917
MFC after:	1 week
This commit is contained in:
des 2013-07-30 13:07:55 +00:00
parent b0032aebc5
commit 0b1a1b2338
3 changed files with 20 additions and 4 deletions

View File

@ -1,5 +1,5 @@
.\"-
.\" Copyright (c) 1998-2011 Dag-Erling Smørgrav
.\" Copyright (c) 1998-2013 Dag-Erling Smørgrav
.\" Copyright (c) 2013 Michael Gmelin <freebsd@grem.de>
.\" All rights reserved.
.\"
@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd January 25, 2013
.Dd July 30, 2013
.Dt FETCH 3
.Os
.Sh NAME
@ -571,6 +571,15 @@ variable is set.
Same as
.Ev FTP_PROXY ,
for compatibility.
.It Ev HTTP_ACCEPT
Specifies the value of the
.Va Accept
header for HTTP requests.
If empty, no
.Va Accept
header is sent.
The default is
.Dq */* .
.It Ev HTTP_AUTH
Specifies HTTP authorization parameters as a colon-separated list of
items.

View File

@ -1,5 +1,5 @@
/*-
* Copyright (c) 2000-2011 Dag-Erling Smørgrav
* Copyright (c) 2000-2013 Dag-Erling Smørgrav
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -1664,6 +1664,12 @@ http_request(struct url *URL, const char *op, struct url_stat *us,
}
/* other headers */
if ((p = getenv("HTTP_ACCEPT")) != NULL) {
if (*p != '\0')
http_cmd(conn, "Accept: %s", p);
} else {
http_cmd(conn, "Accept: */*");
}
if ((p = getenv("HTTP_REFERER")) != NULL && *p != '\0') {
if (strcasecmp(p, "auto") == 0)
http_cmd(conn, "Referer: %s://%s%s",

View File

@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd September 27, 2011
.Dd July 30, 2013
.Dt FETCH 1
.Os
.Sh NAME
@ -340,6 +340,7 @@ for a description of additional environment variables, including
.Ev FTP_PASSWORD ,
.Ev FTP_PROXY ,
.Ev ftp_proxy ,
.Ev HTTP_ACCEPT ,
.Ev HTTP_AUTH ,
.Ev HTTP_PROXY ,
.Ev http_proxy ,