19 октября 2012

Ruby rackup start

Недавно я уже писал о том как поднять сервер на ruby с использованием sinatra.
Сегодня я хотел бы рассказать как это сделать с помощью обычного 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.

Комментариев нет:

Отправить комментарий

Поделиться своими мыслями...