git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: git@vger.kernel.org
Subject: Re: [RFC 2/2] Add Git-aware CGI for Git-aware smart HTTP transport
Date: Sun, 03 Aug 2008 04:38:45 -0700	[thread overview]
Message-ID: <489598C5.6060508@zytor.com> (raw)
In-Reply-To: <1217748317-70096-2-git-send-email-spearce@spearce.org>

Shawn O. Pearce wrote:
> +#define hex(a) (hexchar[(a) & 15])
> +static void chunked_write(const char *fmt, ...)
> +{
> +	static const char hexchar[] = "0123456789abcdef";
> +	va_list args;
> +	unsigned n;
> +
> +	va_start(args, fmt);
> +	n = vsnprintf(buffer + 6, sizeof(buffer) - 8, fmt, args);
> +	va_end(args);
> +	if (n >= sizeof(buffer) - 8)
> +		die("protocol error: impossibly long line");
> +
> +	if (can_chunk) {
> +		unsigned len = n + 4, b = 4;
> +
> +		buffer[4] = '\r';
> +		buffer[5] = '\n';
> +		buffer[n + 6] = '\r';
> +		buffer[n + 7] = '\n';
> +
> +		while (n > 0) {
> +			buffer[--b] = hex(n);
> +			n >>= 4;
> +			len++;
> +		}
> +
> +		safe_write(1, buffer + b, len);
> +	} else
> +		safe_write(1, buffer + 6, n);
> +}

Maybe I am slightly confused, but I thought handling HTTP chunking for 
HTTP/1.1+ clients was usually done by Apache above the level of the CGI 
script?

	-hpa

  reply	other threads:[~2008-08-03 11:39 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-01 21:50 More on git over HTTP POST H. Peter Anvin
2008-08-02 20:57 ` Shawn O. Pearce
2008-08-02 21:00   ` Daniel Stenberg
2008-08-02 21:08     ` Shawn O. Pearce
2008-08-02 21:23       ` Petr Baudis
2008-08-02 21:32         ` Shawn O. Pearce
2008-08-03  2:56   ` Shawn O. Pearce
2008-08-03  3:27     ` Junio C Hamano
2008-08-03  3:31       ` Shawn O. Pearce
2008-08-03  3:47       ` H. Peter Anvin
2008-08-03  4:10         ` Shawn O. Pearce
2008-08-03  8:10           ` david
2008-08-03 11:42             ` H. Peter Anvin
2008-08-03 11:29           ` H. Peter Anvin
2008-08-03  3:51     ` H. Peter Anvin
2008-08-03  4:12       ` Shawn O. Pearce
2008-08-03 11:31         ` H. Peter Anvin
2008-08-03  4:01     ` H. Peter Anvin
2008-08-03  6:43     ` Mike Hommey
2008-08-03  7:25     ` [RFC 1/2] Add backdoor options to receive-pack for use in Git-aware CGI Shawn O. Pearce
2008-08-03  7:25       ` [RFC 2/2] Add Git-aware CGI for Git-aware smart HTTP transport Shawn O. Pearce
2008-08-03 11:38         ` H. Peter Anvin [this message]
2008-08-03 21:25           ` Shawn O. Pearce
2008-08-03 22:16         ` Junio C Hamano
2008-08-04  3:59           ` Shawn O. Pearce
2008-08-04  9:53             ` Rogan Dawes
2008-08-04 10:08               ` Johannes Schindelin
2008-08-04 10:14                 ` Rogan Dawes
2008-08-04 10:26                   ` Johannes Schindelin
2008-08-04 14:48               ` Shawn O. Pearce
2008-08-04 15:45                 ` Rogan Dawes
2008-08-04 15:59                   ` Shawn O. Pearce
2008-08-04 16:18                     ` Rogan Dawes
2008-08-05  1:03                 ` H. Peter Anvin
2008-08-05  1:24                   ` Shawn O. Pearce
2008-08-05  1:35                     ` H. Peter Anvin
2008-08-05  1:57                       ` Shawn O. Pearce
2008-08-05  2:02                         ` H. Peter Anvin
2008-08-13  1:56                           ` H. Peter Anvin
2008-08-13  2:37                             ` Shawn O. Pearce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=489598C5.6060508@zytor.com \
    --to=hpa@zytor.com \
    --cc=git@vger.kernel.org \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).