@kyanny's blog

My thoughts, my life. Views/opinions are my own.

簡素な RequestBin みたいなのを rackup するワンライナー

$ rackup -b "run ->(env) { lf=%Q,\n,; [ 200, {'Content-Type' => 'text/plain'}, [env.sort_by{|k,v|k}.map{|k,v| %Q,#{k}=#{v},}.join(lf)+lf*2+env['rack.input'].read+lf] ] }"

ワンライナーでやる必要は無いけど、なんとなく RequestBin (というか外部)にログを残したくないが HTTP リクエストを調査したいというときに。

Transfer-Encoding: chunked を避けたい場合はこっち。

$ rackup -p 9393 -b "run ->(env) { lf=%Q,\n,; body=env.sort_by{|k,v|k}.map{|k,v| %Q,#{k}=#{v},}.join(lf)+lf*2+env['rack.input'].read+lf; [ 200, {'Content-Type' => 'text/plain', 'Content-Length' => body.bytesize.to_s}, [body] ] }"