yahns Ruby server user/dev discussion
 help / color / Atom feed
* yahns will use kcar as a request parser
@ 2017-04-08  0:37 Eric Wong
  2017-04-19  0:13 ` Eric Wong
  0 siblings, 1 reply; 2+ messages in thread
From: Eric Wong @ 2017-04-08  0:37 UTC (permalink / raw)
  To: yahns-public, kcar-public

Hello to folks interested in either yahns and kcar.

For those of you unfamiliar with either, kcar is currently an
HTTP response parser which converts arbitrary bytestreams to
Rack-compatible response status and headers (and optionally
body chunk filtering).

yahns currently uses an HTTP request parser from a well-known
HTTP server; but kcar for the optional reverse HTTP proxying
capability.

kcar is derived from the HTTP request parser used by yahns; so
there is enough common code between HTTP 1.x request and
response parsing to stick them into the same object.  Using kcar
for request parsing will transparently reduce icache footprint
and allow wider object recycling (should yahns go down that path);
as well as reducing installation time and footprint.

Since neither project is particularly popular at the moment,
there'll be more room to experiment with potential performance
improvements and memory usage reductions.

https://yhbt.net/yahns/README
	mail archives: https://yhbt.net/yahns-public/
	git clone git://yhbt.net/yahns

https://bogomips.org/kcar/
	mail archives: https://bogomips.org/kcar-public/
	git clone git://bogomips.org/kcar

Fwiw, yahns has been hosting both sites since late-2013.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: yahns will use kcar as a request parser
  2017-04-08  0:37 yahns will use kcar as a request parser Eric Wong
@ 2017-04-19  0:13 ` Eric Wong
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Wong @ 2017-04-19  0:13 UTC (permalink / raw)
  To: yahns-public, kcar-public

The current parser used by yahns interprets X-Forwarded-Proto
and X-Forwarded-Ssl headers to set rack.url_scheme in the
rack request env.

Since these are non-standard headers, I think we can safely drop
support for them in yahns.  Neither passenger, puma, nor thin
seem to respect them when setting rack.url_scheme, either...

Anyways, these headers are used by Rack::Request,
and RFC 7239 ("Forwarded" header) was standardized in 2014,
so maybe some people would rather use that instead, too...

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-08  0:37 yahns will use kcar as a request parser Eric Wong
2017-04-19  0:13 ` Eric Wong

yahns Ruby server user/dev discussion

Archives are clonable:
	git clone --mirror https://yhbt.net/yahns-public
	git clone --mirror http://ou63pmih66umazou.onion/yahns-public

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.lang.ruby.yahns
	nntp://ou63pmih66umazou.onion/inbox.comp.lang.ruby.yahns

 note: .onion URLs require Tor: https://www.torproject.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox