view · edit · sidebar · attach · print · history

< Niklaus.20170328-davaz-tooltip | Index | Niklaus.20170322-davaz >>

20170327-sbsm-cookie-session

Summary

  • Rack based SBSM does not handle correctly the session id passed via cookie
  • Keep in Mind

Commits

Index

Rack based SBSM does not handle correctly the session id passed via cookie

In davaz.com the login was not handled correctly, as the session-id as given by the cookie did not return the correct value. Zeno discovered that this is easily detectable by looking at the number of cookies active for a given base URL. He also discovered that we have this problem also with Steinwies, which does not use YUS. Problem is that the uploads directory was missing. I forgot to repopulate the needed directories after I did a git checkout --clean last week.

Looking a rack-test I see that this should be testable using rack-test, eg. https://github.com/brynary/rack-test/blob/master/spec/rack/test/cookie_spec.rb. For watir tests http://www.rubydoc.info/gems/watir-webdriver/Watir/Cookies should enable us to test cookies, too. Therefore it looks likes an easy task to add test for the desired behaviour in steinwies, davaz or SBSM itself. Starting by adding a test in steinweis, which looks for me like being the easiest target to add test.

When I look at the history of the Travis-CI builds of Steinwies, I see that the commit 7554b0bbfd271b7d69d80c7862e919a875ae38f5 "Updated to use sbsm 1.3.3" introduced the following regression, when running the watir tests using rake test.

  1) Error:
SteinwiesTest#test_kontakt_submit_kontakt:
NameError: uninitialized constant PERSISTENT_COOKIE_NAME
    /home/niklaus/.rbenv/versions/2.3.1/lib/ruby/2.3.0/delegate.rb:57:in `const_get'
    /home/niklaus/.rbenv/versions/2.3.1/lib/ruby/2.3.0/delegate.rb:57:in `const_missing'
    /opt/src/steinwies.ch/test/feature/kontakt_test.rb:68:in `test_kontakt_submit_kontakt'

I should not have ignored this error.? Also I should have add errors for checking the cookies in davaz.com, too. Can we easily update steinwies to the current SBSM? NO, as sbsm 1.3.2 was the last one, which used DRb for the session. As I do not want to investe work now to update steinwies to use newer SBSM, I will try to add watir tests for cookies in davaz.com.

Pushed commit Added a test that the session_id is correctly preserved when visiting various paths

As we found an error in SBSM, I must add now a test for the failing behaviour in SBSM.

Changed setting the cookies in sbsm/app.rb to response.set_cookie(SESSION_ID, { :value => session_id, :path => '/' }) and now after a login under Gallery I see the logout link. Also the new watir test test/feature/cookies_test.rb in davaz.com passes.

Running the watir tests test/feature/movies_test.rb pass now (after a small change). Here pressing on the 'more: ..' links work. But when running the real davaz.ngiger.ch I only see a javascript:void(0); at the bottom left, after clicking "more ..". What is the problem with the Javascript?

Pushed commit Less verbose test. Fix problem in movies_test

In src/view/work/movies.rb we find the "more.."-link should call showMovieGallery('movies_gallery_view', 'movies_list', '#{url}'); when being clicked.

Looking at the javascript console I see

&#65279;
dojo.js:1 Uncaught SyntaxError: Unexpected token <
(index):4 Uncaught ReferenceError: require is not defined
    at (index):4
(index):161 Uncaught ReferenceError: dojo is not defined
    at (index):161
davaz.js:201 Uncaught ReferenceError: require is not defined
    at showMovieGallery (davaz.js:201)
    at HTMLAnchorElement.onclick ((index):8)
davaz.js:201 Uncaught ReferenceError: require is not defined
    at showMovieGallery (davaz.js:201)
    at HTMLAnchorElement.onclick ((index):8)

After extracting dojo again to /var/www/davaz.com/doc/resources/ everythings works fine, again. Running all watir-tests for davaz.com. Result is 27 runs, 132 assertions, 5 failures, 1 errors, 2 skips, which is a lot better than the last Travis-CI build which reported 27 runs, 1 assertions, 0 failures, 26 errors, 0 skips

Now the question is whether SBSM works fine if we store the session-id not in the cookie '_session_id' (which is the default value of rack) but in the name speicified by the application (in this case 'davaz-preferences').

After pushing the changes to SBSM I did see that GET /en/works/multiples/ did not work. Got the following backtrace

TypeError: no implicit conversion of nil into String
        /var/www/davaz.com/src/view/works/multiples.rb:26:in `+'
        /var/www/davaz.com/src/view/works/multiples.rb:26:in `panorama_src'
        /var/www/davaz.com/src/view/works/multiples.rb:54:in `image'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:145:in `create'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:126:in `block in compose'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:125:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:125:in `compose'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/spanlist.rb:11:in `block in compose'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/spanlist.rb:10:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/spanlist.rb:10:in `compose'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:72:in `init'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/component.rb:139:in `initialize'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:64:in `new'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:64:in `block in component'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:145:in `create'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:33:in `block in compose'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:15:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:15:in `compose'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:72:in `init'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/component.rb:139:in `initialize'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/template.rb:67:in `new'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/template.rb:67:in `__standard_component'
        /var/www/davaz.com/src/view/template.rb:107:in `dojo_container'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:145:in `create'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:33:in `block in compose'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:15:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:15:in `compose'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/composite.rb:72:in `init'
        /var/www/davaz.com/src/view/works/multiples.rb:92:in `init'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/component.rb:139:in `initialize'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/state.rb:240:in `new'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/state.rb:240:in `view'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/state.rb:173:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/session.rb:478:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/session.rb:238:in `block in process_rack'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/session.rb:208:in `synchronize'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/session.rb:208:in `process_rack'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/app.rb:119:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/lint.rb:49:in `_call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/lint.rb:37:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/show_exceptions.rb:23:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/content_length.rb:15:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/static.rb:149:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/common_logger.rb:33:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/tempfile_reaper.rb:15:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/lint.rb:49:in `_call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/lint.rb:37:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/show_exceptions.rb:23:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/common_logger.rb:33:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/chunked.rb:54:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/content_length.rb:15:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/handler/webrick.rb:86:in `service'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'
        DaVaz::View::Works::ThumbImages::COMPONENTS[[0, 0]] in create(image)
        DaVaz::View::Works::MultiplesComposite::COMPONENTS[[0, 2]] in create(davaz_view_works_thumbimages_multiples)
        DaVaz::View::Works::Multiples::COMPONENTS[[0, 1]] in create(dojo_container)

In fastpower we use Ruby 2.3.1, but I don't think the newer version of Ruby is the reason for the error. Found however that we do not have any watir tests for Multiples. Debugging the problem with pry.

Pushed commit Updated to use SBSM 1.3.6 and update fastpower. Editing seems to work now.

Investing some minutes into trying to make all unit tests of davaz.com pass.

Visiting en/gallery/tooltips/ (when logged in) produces the following backtrace [@ @NoMethodError: undefined method `word' for #<DaVaz::Model::ArtObject:0x0055696cc603d8>

        /var/www/davaz.com/src/view/_partial/textblock.rb:224:in `word_to_html'
        /var/www/davaz.com/src/view/_partial/textblock.rb:234:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:42:in `block (3 levels) in to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `inject'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `block (2 levels) in to_html'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:15:in `nn_element'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:21:in `nn_element_def'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:39:in `block in to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `each_with_index'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:42:in `block (3 levels) in to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `inject'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `block (2 levels) in to_html'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:15:in `nn_element'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:21:in `nn_element_def'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:39:in `block in to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `each_with_index'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/component.rb:224:in `_to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/component.rb:222:in `block in _to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/component.rb:222:in `collect'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/component.rb:222:in `_to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/component.rb:217:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/div.rb:33:in `block in to_html'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:15:in `nn_element'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:21:in `nn_element_def'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/div.rb:32:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:42:in `block (3 levels) in to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `inject'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:40:in `block (2 levels) in to_html'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:15:in `nn_element'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:21:in `nn_element_def'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:39:in `block in to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `each'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `each_with_index'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/divcomposite.rb:38:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/template.rb:123:in `block in to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/template.rb:116:in `template_tags'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/template.rb:111:in `block (2 levels) in template_html'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:55:in `nO_element'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:62:in `nO_element_def'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/template.rb:110:in `block in template_html'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:55:in `nO_element'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:62:in `nO_element_def'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/cgi/html.rb:423:in `html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/template.rb:109:in `template_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/htmlgrid-1.1.3/lib/htmlgrid/template.rb:122:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/state.rb:174:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/session.rb:478:in `to_html'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/session.rb:238:in `block in process_rack'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/session.rb:208:in `synchronize'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/session.rb:208:in `process_rack'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/sbsm-1.3.6/lib/sbsm/app.rb:119:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/lint.rb:49:in `_call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/lint.rb:37:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/show_exceptions.rb:23:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/content_length.rb:15:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/static.rb:149:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/common_logger.rb:33:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/tempfile_reaper.rb:15:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/lint.rb:49:in `_call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/lint.rb:37:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/show_exceptions.rb:23:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/common_logger.rb:33:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/chunked.rb:54:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/content_length.rb:15:in `call'
        /var/www/davaz.com/vendor/ruby240/ruby/2.4.0/gems/rack-2.0.1/lib/rack/handler/webrick.rb:86:in `service'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:140:in `service'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/httpserver.rb:96:in `run'
        /usr/local/ruby-2.4.0/lib/ruby/2.4.0/webrick/server.rb:290:in `block in start_thread'

172.25.1.75 - - [27/Mar/2017:16:14:28 +0200] "GET /en/gallery/tooltips/ HTTP/1.1" 500 212022 0.0394 ]

view · edit · sidebar · attach · print · history
Page last modified on March 27, 2017, at 04:23 PM