Недавно я уже писал о том как поднять сервер на ruby с использованием sinatra.
Сегодня я хотел бы рассказать как это сделать с помощью обычного rack.
Практически все фреймворки на ruby используют rack. Так что сделаем сервер теперь и на нем, чтобы лучше ориентироваться в технологиях ruby.
Создадим файл config.ru
Напишем в него код с комментариями:
И запустим:
Теперь перейдем в браузер и введем:
http://localhost:9292/index
Появится сообщение:
Hello, index page
А если введем http://localhost:9292/ или что-то другое то будет сообщение: Sorry, error. Так что если в case прописать больше значений то вы получите больше страниц. Вот и все, мы сделали еще более легкий сервер на ruby.
Сегодня я хотел бы рассказать как это сделать с помощью обычного rack.
Практически все фреймворки на ruby используют rack. Так что сделаем сервер теперь и на нем, чтобы лучше ориентироваться в технологиях ruby.
Создадим файл config.ru
Напишем в него код с комментариями:
# config.ru
class HelloWorld
def call(env)
# определяем адрес страницы
request_path = env["REQUEST_PATH"].delete('/')
answer = '';
# выбираем ответ в зависимости от адреса страницы
# возаращаем на index приветствие на все остальные ошибку
case request_path
when "index"
answer = "Hello, index page";
else answer = "Sorry, error";
end
# теперь возвращаем полный ответ
return [
200, #статус страницы
{'Content-Type' => 'text/html'}, #тип ответа страницы
[answer] # ответ
]
end
end
# запускаем приложение
run HelloWorld.new
И запустим:
rackup config.ru
Теперь перейдем в браузер и введем:
http://localhost:9292/index
Появится сообщение:
Hello, index page
А если введем http://localhost:9292/ или что-то другое то будет сообщение: Sorry, error. Так что если в case прописать больше значений то вы получите больше страниц. Вот и все, мы сделали еще более легкий сервер на ruby.
Комментариев нет:
Отправить комментарий
Поделиться своими мыслями...