Re: [PATCH] Add ERR support to smart HTTP
- From
Sitaram Chamarty <sitaramc@gmail.com>
- Date
- Sep 6, 2010, 01:04 UTC
- Message-ID
- <AANLkTikGiekZGNffaraHK-waBt7wH84jujM_uh3cw46y@mail.gmail.com>
- In-Reply-To
- <m3pqwrnay2.fsf@localhost.localdomain>
On Mon, Sep 6, 2010 at 2:52 AM, Jakub Narebski <jnareb@gmail.com> wrote:
Show 15 quoted lines
> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes: > >> On Sun, Sep 5, 2010 at 18:49, Ilari Liusvaara >> <ilari.liusvaara@elisanet.fi> wrote: >> >> > AFAIK, HTTP errors don't have descriptions printed. >> >> I don't know if this applies here but HTTP error codes can come with >> any free-form \n-delimited string: >> >> HTTP/1.1 402 You Must Build Additional Pylons > > And you can also send more detailed description in the *body* (and not > only HTTP headers) of HTTP response, though I don't know if git does > that.
I'm going to try the patch that Ilari sent when I get to work but to answer this sub-thread about HTTP status codes and messages, none of that gets printed by the curl code, as Ilari pointed out. Here's a transcript:
Notice the 403 on this one... I do send that back:
06:30:37 sitaram@sita-lt:http-test $ git clone `genurl alice foo/sitaram/try1` Cloning into try1... error: The requested URL returned error: 403 while accessing http://alice:alice@127.0.0.1/git/foo/sitaram/try1/info/refs
fatal: HTTP request failed
You can see the actual message cleanly here:
06:30:46 sitaram@sita-lt:http-test $ curl http://alice:alice@127.0.0.1/git/foo/sitaram/try1/info/refs ERR R access for foo/sitaram/try1 DENIED to alice
And here you can see the text part of the HTTP/1.1 NNN status line:
06:31:04 sitaram@sita-lt:http-test $ curl -v http://alice:alice@127.0.0.1/git/foo/sitaram/try1/info/refs * About to connect() to 127.0.0.1 port 80 (#0) * Trying 127.0.0.1... connected * Connected to 127.0.0.1 (127.0.0.1) port 80 (#0) * Server auth using Basic with user 'alice'
Show 6 quoted lines
> GET /git/foo/sitaram/try1/info/refs HTTP/1.1 > Authorization: Basic YWxpY2U6YWxpY2U= > User-Agent: curl/7.20.1 (i386-redhat-linux-gnu) libcurl/7.20.1 NSS/3.12.6.2 zlib/1.2.3 libidn/1.16 libssh2/1.2.4 > Host: 127.0.0.1 > Accept: */* >
< HTTP/1.1 403 error - gitolite < Date: Mon, 06 Sep 2010 01:02:23 GMT < Server: Apache/2.2.16 (Fedora) < Expires: Fri, 01 Jan 1980 00:00:00 GMT < Pragma: no-cache < Cache-Control: no-cache, max-age=0, must-revalidate < Connection: close < Transfer-Encoding: chunked < Content-Type: text/plain; charset=UTF-8 < ERR R access for foo/sitaram/try1 DENIED to alice * Closing connection #0