actually, bouncy started out very much like this, but ended up parsing http properly.
On Sat, Jun 16, 2012 at 3:17 AM, Nathan Rajlich <nat...@tootallnate.net> wrote: > Sounds a lot like SubStack's "bouncy": https://github.com/substack/bouncy > > Very cool nonetheless! > > On Fri, Jun 15, 2012 at 6:45 AM, Dominic Tarr <dominic.t...@gmail.com> > wrote: >> >> so, >> >> For a while I've been wondering, could I make a *really* simple proxy? >> >> Although in http 1.1 multiple requests may be made in the same tcp >> connection, a well behaved client is not allowed >> to make requests to different hosts in the same connection, so this >> begs the question: is it necessary to properly parse http? >> as long as you can parse the first header, and then connect the tcp >> stream to the right place... then every thing should just work, >> including WebSockets. >> >> It was marak who originally suggested this idea to me. >> >> so, today I actually tried it... and it looks like: IT WORKED!!! >> >> https://github.com/dominictarr/badass >> >> npm install badass >> >> I've implemented just enough to make a load-balancer with sticky >> sessions. basically it just matches the text before the first empty >> line. pulls out the headers with a few regexps, and then just sends >> the rest through as buffers. it also extracts the first header on the >> response, so you can force a cookie to get sticky sessions. >> >> it's only about 100 lines, and it does next to nothing to the tcp >> stream, so it should be really fast. >> >> but I havn't benchmarked it yet. >> >> also, I havn't written a detailed test suite that cover all the error >> paths. >> (connections unexpectedly closing etc) >> >> There are some things that will never do, like, deliver it's own error >> messages. >> But thats okay. I'm trying to be ruthlessly simple. >> If you want a fully featured proxy, use something else. >> >> cheers, Dominic >> >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> You received this message because you are subscribed to the Google >> Groups "nodejs" group. >> To post to this group, send email to nodejs@googlegroups.com >> To unsubscribe from this group, send email to >> nodejs+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en > > > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to nodejs@googlegroups.com > To unsubscribe from this group, send email to > nodejs+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en