ふり返る暇なんて無いね

日々のメモ書きをつらつらと。メインブログに書くほどでもないことを流してます

2013-01-17日誌

入門Sinatra

2章終わりまで。

curl -v $URI でHTTPヘッダーも見れる

エラー処理

not_foundやerrorでハンドリング

# coding: utf-8                                                                                                                                    
require 'sinatra'

before do
    content_type :txt
end

# スタックトレースの表示を無効化
configure do
  set :show_exceptions => false
end

not_found do
    '見つからないよ'
end

get '/err' do
  0 / 0
end

error do
    'なんかおかしいよ'
end

headersメソッド

カスタムヘッダーはX-で始まるのが通例

セッション

configure do
  enable :sessions
end

get '/' do
  session[:hoge] = 'fuga'
  "session set hoge => #{session[:hoge]}"
end

get '/clear' do
  session.clear
end

Cookie

  • response.set_cookie(key, value)
  • response.set_cookie(key, :value => value, :path => path)
  • request.cookies[key]
  • response.delete_cookie(key)

添付ファイル

  • attachment(file)

ストリーミング

どうも、アプリケーションサーバWebrickだとうまく動かないのでThinを入れた

gem install

そして、curl -D - http://localhost:4567/consume
でアクセスすると、リアルタイムでブロードキャストが反映されるのだが、ブラウザアクセスだと、サーバを落とした時に出力が反映される。なぞい。