What made substack change tactics?

Ted Young
radicalDESIGNS

On Jun 15, 2012, at 8:43 AM, Dominic Tarr wrote:

> 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 <[email protected]> 
> 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 <[email protected]>
>> 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 [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> 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 [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> 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 [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to