Re: Git-aware HTTP transport
- From
- H. Peter Anvin <hpa@zytor.com>
- Date
- Aug 26, 2008, 04:14 UTC
- Message-ID
- <48B38340.8050504@zytor.com>
- In-Reply-To
- <20080826034544.GA32334@spearce.org>
Shawn O. Pearce wrote:
Show 9 quoted lines
> > So I think the cost may actually break even with a stateful protocol > if we imagine that the server is actually a farm of systems and > simple round-robin load-balancing is being done in front of the > Git-aware server. > > I'd really like to keep the protocol stateless on the server side, as > this makes it easier to embed into certain commerical server farms. >
Indeed. It was a question, not a statement of any sort. I was curious about the answer.
I really like the new draft, with the one consideration below.
Show 11 quoted lines
> > HTTP Transport > -------------- > > All requests are encoded as HTTP POST requests to the smart service > URL, "$url/backend.git-http/$service". > > All responses are encoded as 200 Ok responses, even if the server > side has "failed" the request. Service specific success/failure > codes are embedded in the content. >
I still would like to have an indirection step at the start, in order to keep a single client on a server in the case of skew. I suggest simply do it as HTTP POST $url/backend.git-http, empty body, and return a URL prefix to use for the remainder of the session. That way a server who wants a stateful setup can return a URL which contains a session cookie; others can return a URL containing a target server, and finally others can simply return the requesting URL.
-hpa