|
| 1 | +<snippet> |
| 2 | + <content><![CDATA[ |
| 3 | +require 'sinatra/base' |
| 4 | +require 'stringio' |
| 5 | +require 'logger' |
| 6 | +
|
| 7 | +class MyApp < Sinatra::Base |
| 8 | + enable :inline_templates |
| 9 | + get '/users/:id' do |
| 10 | + "User number #{params[:id]} is an uppity know-it-all" |
| 11 | + end |
| 12 | +end |
| 13 | +
|
| 14 | +env = {"REQUEST_METHOD" => "GET", "PATH_INFO" => "/users/456", "rack.input" => StringIO.new} |
| 15 | +status, headers, response = MyApp.call(env) |
| 16 | +
|
| 17 | +status |
| 18 | +headers |
| 19 | +response |
| 20 | +
|
| 21 | +# --- OTHER ENV OPTIONS --- |
| 22 | +# "REQUEST_PATH" => "/users/123", |
| 23 | +# "REQUEST_URI" => "/users/789", |
| 24 | +# "SERVER_SOFTWARE" => "thin 1.5.1 codename Straight Razor", |
| 25 | +# "SERVER_NAME" => "localhost", |
| 26 | +# "rack.version" => [1, 0], |
| 27 | +# "rack.errors" => \$stderr, |
| 28 | +# "HTTP_VERSION" => "HTTP/1.1", |
| 29 | +# "HTTP_HOST" => "localhost:4567", |
| 30 | +# "HTTP_CONNECTION" => "keep-alive", |
| 31 | +# "HTTP_CACHE_CONTROL" => "max-age=0", |
| 32 | +# "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", |
| 33 | +# "HTTP_USER_AGENT" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36", |
| 34 | +# "HTTP_ACCEPT_ENCODING" => "gzip,deflate,sdch", |
| 35 | +# "HTTP_ACCEPT_LANGUAGE" => "en-US,en;q=0.8", |
| 36 | +# "HTTP_COOKIE" => "_session_id=2fca27fa2255b1ebf961610b616fc044; _simple_feed_consumer_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTNiNzg2YWQwMWU1NzU3M2MxM2U1ZTg5ZTRiZDY3MmJiBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMXo2Y2YrVkhWRG9NQTVNV3ZoblVRdnRjRzk0eml4NGk1UzhQRFNZVHZhZzA9BjsARg%3D%3D--dc69c96a2374f9ffd646cd2005a63f3b32094f9f; _simple_feed_consumer2_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWE3Nzk2NzlmNjRjZjMwODY1NjdkMWU2OTdjNzYxNzNlBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMXEzVmVobmpaYTZzZGRzRytkNUVUUTV4THAxVnlvMXM1Q3hjTko4TXFUMm89BjsARg%3D%3D--fa7da019717903452ef2de05ccf74a9d9547c791; _simple_feed_consumer3_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTcxMjNjMmM5NTRiOGQzY2VkNmE4NTQxZjFhNzhlYWQxBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMTRnR1d3bVFoK3phMFdwQ2MyTEFmUGhHRjVTL0ZiblNhWkhvWFRqbllhZ1U9BjsARg%3D%3D--e6ddb60584bc6323181881d71ccc0380222d49f3; _gauges_unique_year=1; _gauges_unique=1; _simple_feed_consumer5_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWE3NTBhOGE3MDcyODljMWNjMzRjNWI1ZWI0ZDNmMjU2BjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMTB5dW9DRFkvOElpMzFkZk9PTGwrVTBpWnJ1RU4yWnFBdGI3cW0veXl2Q1U9BjsARg%3D%3D--4003910f17682ddb0e25e12c1fb865b16f197e29; _simple_feed_session=BAh7CDoScmV0dXJuX3RvX3VybDA6DHVzZXJfaWRpCEkiD3Nlc3Npb25faWQGOgZFRkkiJWE4ODMyM2Q4ZjgwZTNiNzI5YTA1ZTA5ZTFjYjg2ODI1BjsHVA%3D%3D--caf9d70c54a570a5bf8f7e9f939ca5bca1989d9e; _staffing_service_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRkkiJWM1NzFiODc5MjJlMzhjYzA4NjM1ZDNlMGZmZTEwOWI3BjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMUYvNldXOXkvKzlRMHNLb3BjcGt3UXlRN1BNT0oyL3cyRDdhSVhoaTlSWUU9BjsARkkiEGNyZWRlbnRpYWxzBjsARkM6F09tbmlBdXRoOjpBdXRoSGFzaHsJSSIKdG9rZW4GOwBGSSI5eWEyOS5BSEVTNlpUUTJZcEhSdjhnaGVoTUV6S043Nk42MEMwTm0waXJHRzFpMWNEbndVawY7AEZJIhJyZWZyZXNoX3Rva2VuBjsARkkiMjEvLURDWkx0T2ljSzUtQ3lkVjZfNEVDLWg0djlKVy15V1hxRlB3T053cks1WQY7AEZJIg9leHBpcmVzX2F0BjsARmwrB5fYflFJIgxleHBpcmVzBjsARlQ%3D--85f3a935ed10e4e4237ee72b236f901010222f71", |
| 37 | +# "GATEWAY_INTERFACE" => "CGI/1.2", |
| 38 | +# "SERVER_PORT" => "4567", |
| 39 | +# "QUERY_STRING" => "", |
| 40 | +# "SERVER_PROTOCOL" => "HTTP/1.1", |
| 41 | +# "rack.url_scheme" => "http", |
| 42 | +# "SCRIPT_NAME" => "", |
| 43 | +# "REMOTE_ADDR" => "127.0.0.1", |
| 44 | +# "sinatra.commonlogger" => true, |
| 45 | +# "rack.logger" => Logger.new(\$stdout), |
| 46 | +# "rack.request.query_string" => "", |
| 47 | +# "rack.request.query_hash" => {} |
| 48 | +]]></content> |
| 49 | + <tabTrigger>s_sinatra</tabTrigger> |
| 50 | + <scope>source.ruby</scope> |
| 51 | + <description>Play with Sinatra, without needing to host it on a server</description> |
| 52 | +</snippet> |
0 commit comments