I am using OmniAuth to allow users to log in with their Google OpenID accounts. When I try to log in in development mode with WEBrick, I get a WEBrick::HTTPStatus::RequestURITooLarge error. When I deploy it to my rails host, it works fine. Is there a different web server I should use instead of WEBrick?
5 Answers
Strange, I wonder what the URI length limit is for WEBrick. You could try thin
http://code.macournoyer.com/thin/. I use this locally for development sometimes and it seems to work great.

- 6,603
- 1
- 35
- 32
-
I have to admit, the URL is quite long... It contains a lot in the query string – Shlomo Zalman Heigh Feb 08 '11 at 13:11
-
1I would file a bug with OmniAuth or see if they provide a solution that doesn't use a query string. – raidfive Feb 08 '11 at 18:18
-
Definitely a webrick limitation. – Andrew Case Jun 23 '12 at 03:09
As mentioned in railscast 236 for OmniAuth, WEBrick has trouble with long urls given by OpenID. The solution given that worked for me was to add Mongrel to your gemfile.
gem 'mongrel', '1.2.0.pre2'

- 4,362
- 5
- 32
- 50
Add a file called webrick.rb
file to the config\initializers
directory.
if defined?(WEBrick::HTTPRequest)
WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 10240)
end

- 64,083
- 21
- 152
- 198
-
This is the best solution for me because it actually works with webrick. – noahdiewald Mar 20 '14 at 21:16
The url size limit changed from 1024 to 2083 in the latest ruby source already. I hope an updated ruby version with this fix included will be released soon :)
https://github.com/ruby/ruby/blob/trunk/lib/webrick/httprequest.rb#L291

- 4,582
- 7
- 44
- 56
-
Usually Webrick is used for debugging so a small monkey-patch will not harm you ;) – KirylP Jul 26 '11 at 12:26
-
Yeah, but it's ugly and there's really no need for such a low limit...good they already fixed it :) – gucki Jul 26 '11 at 15:59
I ran into this same issue with Caseproof's DataTables gem using Webbrick and a table that had a lot of columns (> 15). Switching to the thin server resolved my issue as well. DataTables is a javascript/jquery plugin for creating tables.

- 15,396
- 12
- 109
- 124