OmniAuth Google OpenID WEBrick :: HTTPStatus :: RequestURITooLarge - PullRequest
17 голосов
/ 08 февраля 2011

Я использую OmniAuth, чтобы позволить пользователям входить в систему со своими учетными записями Google OpenID.Когда я пытаюсь войти в режим разработки с помощью WEBrick, я получаю ошибку WEBrick :: HTTPStatus :: RequestURITooLarge.Когда я размещаю его на моем хосте rails, он работает нормально.Есть ли другой веб-сервер, который я должен использовать вместо WEBrick?

Ответы [ 5 ]

17 голосов
/ 08 февраля 2011

Странно, мне интересно, какое ограничение длины URI для WEBrick.Вы можете попробовать thin http://code.macournoyer.com/thin/. Я использую это локально для разработки иногда, и это, кажется, прекрасно работает.

11 голосов
/ 09 февраля 2011

Как упоминалось в Railscast 236 для OmniAuth, у WEBrick есть проблемы с длинными URL-адресами, предоставляемыми OpenID. Решение, которое сработало для меня, состояло в том, чтобы добавить Mongrel в ваш гемфайл.

gem 'mongrel', '1.2.0.pre2'

6 голосов
/ 07 марта 2013

Добавить файл с именем webrick.rb file в каталог config\initializers.

if defined?(WEBrick::HTTPRequest)
  WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 10240)
end
3 голосов
/ 03 июля 2011

Ограничение размера URL изменилось с 1024 до 2083 в последнем источнике ruby.Я надеюсь, что скоро будет выпущена обновленная версия ruby ​​с этим исправлением :)

https://github.com/ruby/ruby/blob/trunk/lib/webrick/httprequest.rb#L291

0 голосов
/ 25 августа 2011

Я столкнулся с той же проблемой с DataTables гемом Caseproof , используя Webbrick и таблицу, которая имела много столбцов (> 15).Переход на тонкий сервер также решил мою проблему. DataTables - это плагин javascript / jquery для создания таблиц.

...