Last active
December 10, 2015 06:39
-
-
Save aminin/4396088 to your computer and use it in GitHub Desktop.
Тестовое приложение на Синатре
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # A sample Gemfile | |
| source "https://rubygems.org" | |
| gem "sinatra" | |
| gem "sinatra-synchrony" | |
| gem "thin" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # -*- encoding: utf-8 -*- | |
| # Запуск: ruby light.rb -s thin | |
| require 'sinatra' | |
| require 'sinatra/synchrony' | |
| get '/' do | |
| puts 'Привет!' | |
| 'Привет!' | |
| end | |
| get '/e500' do | |
| puts '500' | |
| halt 500, '500-я внутренняя ошибка сервера' | |
| end | |
| get '/e502' do | |
| puts '502' | |
| halt 502, 'Ошибка 502 негодный шлюз' | |
| end | |
| get '/e503' do | |
| puts '503' | |
| halt 503, 'Ошибка 503 хорош долбить! - сервер недоступен' | |
| end | |
| get '/e400' do | |
| puts '400' | |
| halt 400, 'Ошибка 400 негодный запрос' | |
| end | |
| get '/e403' do | |
| puts '403' | |
| halt 403, 'Ошибка 403 сюда нельзя' | |
| end | |
| get '/e404' do | |
| puts '403' | |
| halt 404, 'Ошибка 404 нет такой страницы' | |
| end | |
| get '/slowpoke' do | |
| content_type 'text/html' | |
| wait_for = (rand * 9).round(2) # ждать от 0 до 4 секунд | |
| stream(:keep_open) do |out| | |
| out << "Я медленная страница.<br />\n" | |
| out << "Подожди #{wait_for} секунд.<br />\n" | |
| EM.add_timer(wait_for) do | |
| out << "Готово!" | |
| out.close | |
| puts 'slowget' | |
| end | |
| end | |
| end | |
| post '/slowpoke' do | |
| content_type 'text/html' | |
| wait_for = (rand * 9).round(2) # ждать от 0 до 4 секунд | |
| stream(:keep_open) do |out| | |
| out << "Я медленная страница.<br />\n" | |
| out << "Подожди #{wait_for} секунд.<br />\n" | |
| EM.add_timer(wait_for) do | |
| out << "Готово!" | |
| out.close | |
| puts 'slowpost' | |
| end | |
| end | |
| end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment