From: Nathan Wagner Date: Tue, 5 Mar 2019 16:34:02 +0000 (+0000) Subject: change http header output X-Git-Url: https://pd.if.org/git/?p=zpackage;a=commitdiff_plain;h=0f71fe6a8646901c02f05104988d16f442bbd054 change http header output --- diff --git a/doc/zpm-fetchurl.8 b/doc/zpm-fetchurl.8 index b152f61..d5487e5 100644 --- a/doc/zpm-fetchurl.8 +++ b/doc/zpm-fetchurl.8 @@ -14,6 +14,7 @@ zpm-fetchurl \- download files ] [ .BI \-U " useragent" +] [ .BI -o file ] @@ -29,10 +30,14 @@ used. While this program can be used directly, it is intended for use by zpm scripts for downloading repositories and packages without requiring an external dependency. +.PP +URLs of the file scheme have an http style response header generated +internally so the same code and output are used. .SH OPTIONS .TP .B \-I -output the response header only, implies -r +output the response header only, implies \-r. The output file +is ignored and the header is written to stdout. .TP .B \-r output the entire response, including the header @@ -74,11 +79,16 @@ Fail silently on errors. .TP .B \-p \-# Output a progress bar. A '#' is accepted for compatibility with curl. +.TP +.BI \-U " useragent" +Set the User-Agent header to \fIuseragent\fR. .SH EXAMPLES .TP zpm fetchurl -o zpm-0.1.2.zpm https://zoranix.net/repo/packages/zpm-0.1.2.zpm .SH EXIT STATUS 0 on success non zero on failure +.PP +Failure is any exit status code >= 400. .SH FILES /var/lib/zpm/known_hosts ~/.zpm/known_hosts diff --git a/src/fetchurl.c b/src/fetchurl.c index afce2cd..f4ae8da 100644 --- a/src/fetchurl.c +++ b/src/fetchurl.c @@ -957,6 +957,12 @@ int main(int ac, char *av[]) { if (head) { io.response.len -= 2; + write(out, io.response.buffer, io.response.len); + break; + } + + if (io.status_code == 304) { + break; } if (outfile) { @@ -973,11 +979,6 @@ int main(int ac, char *av[]) { } } - if (head) { - write(out, io.response.buffer, io.response.len); - break; - } - if (raw) { write(out, io.response.buffer, header_len); }