gevent.pywsgi.WSGIServer (http://www.gevent.org/gevent.pywsgi.html)を使用する Web サーバーがあり、通常の http 要求だけでなく非 http 要求も処理する必要があります。
Server:
web_server = gevent.pywsgi.WSGIServer(('', 8080), web_server);
web_server.serve_forever();
Handler:
def viewer_command_server(env, start_response):
if env['REQUEST_METHOD'].upper() == "PUT":
path = env["PATH_INFO"]
start_response("200 OK", [("Content-Type", "text/html"), ("Cache-Control", "no-cache"), ("Connection","keep-alive")])
return [ ""]
これは通常の PUT リクエストを処理しますが、フラッシュ アプリケーションで使用される crossdomain.xml ファイルもサーバーに入れたいと考えています。しかし、問題は、Flash アプリケーションが crossdomain.xml ファイルを取得しようとしたときにこれを取得することです。
"socket fileno=13 sock=66.228.55.170:9090 peer=96.54.202.251:63380: Invalid HTTP method: '<policy-file-request/>\x00'
96.54.202.251 - - [2012-05-21 22:58:53] "<policy-file-request/>" 400 0 2.940527
"
このリクエストも処理する方法はありますか? アドビでは、ポート 843 で別の tcp サーバーを実行してこのファイルを提供することをお勧めします。すべてをポート 8080 に保持したいと思います。