curlコマンドのヘッダーの要素を追加 - Bye Bye Moore
で扱った、ヘッダに固有命令である旨をつけてPOST命令で結果を返す方法を自分でもやってみる
Bottleで画像を受け取る - Bye Bye Moore
を拡張する形で作っていきます
bottleでヘッダを呼び出すには"request.headers.raw(KEY)"で呼び出します。
実際のところ
tmpディレクトリにあるfoobar.jpgというファイルを/showに特殊ヘッダshowimageつきのPOSTで呼び出すには、以下の様に
from bottle import route, request, run, post, static_file
@post('/show')
def send_image():
if ( request.headers.raw("showimage") == "True" ):
filename="foobar.jpg"
return static_file(filename, root='/tmp', mimetype='image/jpeg')
else:
return
if __name__ == '__main__':
run(host='0.0.0.0', port=8080)
上記に対しコマンドを送って画像を1234.jpgとして受け取るには
$ curl -o 1234.jpg -X POST -H "showimage: True" http://127.0.0.1:8080/show