about summary refs log tree commit homepage
path: root/lib/rainbows/error.rb
DateCommit message (Collapse)
2015-11-18reduce constant lookup dependencies
Unicorn 5 removes some constants we were using, and constant lookups + inline caching are waste of time anyways on newer Rubies with the opt_str_freeze bytecode instruction. This may reduce performance for folks on older Rubies (probably not noticeable); but improves performance for folks on newer Rubies.
2014-01-17error: silence ETIMEDOUT and EHOSTUNREACH errors
There's nothing we can do about these errors due to network failures and bad clients, either, so do not spew a backtrace for them.
2011-08-16more consistent logging for errors
The Unicorn.log_error method exists since 4.0.0
2011-02-04bump required Unicorn dependency for Kgio
We want to use the singleton methods in Kgio to reduce conditionals.
2011-01-20remove unused 416 error constants/exceptions
We handle that locally in rainbows/response now
2011-01-06eliminate G constant and just use the Rainbows! module
Code organization is hard :<
2010-10-25reduce dependency on IO#write_nonblock
kgio_trywrite is superior if it is available.
2010-10-22unindent most files
This simplifies and disambiguates most constant resolution issues as well as lowering our identation level. Hopefully this makes code easier to understand.
2010-07-22enable Range: responses for static files for most models
The FileStreamer class of EventMachine (and by extension NeverBlock) unfortunately doesn't handle this. It's possible to do with Revactor (since it uses Rev under the covers), but we'll support what we can easily for now.
2010-07-10doc: avoid documenting internals on RDoc website
Since we suck at building websites, we just rely on RDoc as a website builder. And since Rainbows! is an application server (and not a programming library), our internal API should be of little interest to end users. Anybody interested in Rainbows! (or any other project) internals should be reading the source.
2010-02-27TCPSocket#peeraddr may raise ENOTCONN
Since we deal with untrusted/non-local clients, those clients may disconnect at inopportune times and leave us with ENOTCONN when we try to call getpeername(2)
2009-12-19error: (trivial) remove unnecessary whitespace
2009-12-16cleanup: consolidate write_nonblock error handling
2009-12-04do not log IOError raised during app processing
A client disconnect could possibly trigger IOError on close whereas EOFError does not occur.
2009-11-26cleanup and refactor error handling
Make sure app errors get logged correctly, and we no longer return a 500 response when a client EOFs the write end (but not the read end) of a connection.