LoginSignup
1
1

More than 5 years have passed since last update.

trusterdでPOSTリクエストを処理する第一歩

Last updated at Posted at 2015-02-21

はじめに

HTTP2でもPOSTやGETがあるらしくらいしか分かってません。
中の通信はバイナリベースでも表面上はHTTP/1.1あたりと互換性が
あるらしいので、POSTメソッドもこれまでと変わらずに扱えるようです。

POSTメソッドで渡されたパラメータを参照するには

コールバックを有効にしてHTTP2サーバーを生成。

trusterd.conf.rb
s = HTTP2::Server.new({

  # callback default: false
   :callback => true,

})

set_map_to_strage_cbでコールバック内でPOSTパラメータを

s.body

と受け取れる。

trusterd.conf.rb
s.set_map_to_strage_cb {

if s.request.uri == "/test"
  s.set_content_cb {
    s.rputs s.unparsed_uri+"\n"
    if s.body
      s.rputs s.body+"\n"
    end
    s.rputs "hello trusterd!"
  }
end

}

POSTする

一応、POSTを発行する側のHTMLも載せときます。

<html>
<form method="POST" action="https://127.0.0.1:8080/test">
  <input type="text" name="text">
  <input type="submit" value="post">
</form>
</html>

TLS無効で動かしている場合は、httpsをhttpに。

おわりに

パラメータを受け取ったあとはRuby力が高ければ、簡単にハッシュや
もっと賢い入れ物に展開出来るんだろうと想像を巡らす日々です。

参考リンク

関連投稿

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1