about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-05-04 16:41:36 -0700
committerEric Wong <normalperson@yhbt.net>2011-05-04 16:41:36 -0700
commitf81aa02448b615c4d5fc4f6544c53289dae9d2ec (patch)
treeca8b4d49e5baaedb7106932c3fc73d0078e5a0d1 /lib
parent3a76dc40dda91a3804276fcc73260bb2a529c034 (diff)
downloadunicorn-f81aa02448b615c4d5fc4f6544c53289dae9d2ec.tar.gz
There's an HTTP status code allocated for it in
<http://www.iana.org/assignments/http-status-codes>, so
return that instead of 400.
Diffstat (limited to 'lib')
-rw-r--r--lib/unicorn/const.rb1
-rw-r--r--lib/unicorn/http_server.rb2
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/unicorn/const.rb b/lib/unicorn/const.rb
index 717a61f..fe49e1b 100644
--- a/lib/unicorn/const.rb
+++ b/lib/unicorn/const.rb
@@ -31,6 +31,7 @@ module Unicorn::Const
   # :stopdoc:
   # common errors we'll send back
   ERROR_400_RESPONSE = "HTTP/1.1 400 Bad Request\r\n\r\n"
+  ERROR_414_RESPONSE = "HTTP/1.1 414 Request-URI Too Long\r\n\r\n"
   ERROR_500_RESPONSE = "HTTP/1.1 500 Internal Server Error\r\n\r\n"
   EXPECT_100_RESPONSE = "HTTP/1.1 100 Continue\r\n\r\n"
 
diff --git a/lib/unicorn/http_server.rb b/lib/unicorn/http_server.rb
index 3077b95..994de67 100644
--- a/lib/unicorn/http_server.rb
+++ b/lib/unicorn/http_server.rb
@@ -527,6 +527,8 @@ class Unicorn::HttpServer
     msg = case e
     when EOFError,Errno::ECONNRESET,Errno::EPIPE,Errno::EINVAL,Errno::EBADF
       Unicorn::Const::ERROR_500_RESPONSE
+    when Unicorn::RequestURITooLongError
+      Unicorn::Const::ERROR_414_RESPONSE
     when Unicorn::HttpParserError # try to tell the client they're bad
       Unicorn::Const::ERROR_400_RESPONSE
     else