[Java][JavaScript] env.jsでHTTPのPOSTメソッドが実装されていない?
env.jsはRhinoで利用できるwindowオブジェクトの実装.
とても便利に使わせていただいているのですが,どうもXmlHttpRequestのsend関数でHTTPのPOSTメソッドが実装されていない様子.
なので,POSTの部分だけとりあえず実装追加.
Rhinoでprotoype.js - みずぴー日記で変更された状態のenv.jsに対するdiffの形で
@@ -613,6 +613,11 @@
for (var header in self.headers)
connection.addRequestProperty(header, self.headers[header]);
+ if(self.method == "POST") {
+ connection.setDoOutput(true);
+ var ps = new java.io.PrintStream(connection.getOutputStream());
+ ps.print(new java.lang.String( data || "" ));
+ }
connection.connect();
// Stick the response headers into responseHeadersこんな風にしてとりあえず動くようになった.
後でもう少し調べて報告しておこうかな.
ところで,env.jsで`file://`スキームのURLにPUTするとファイル書き込みができるって仕様はちょっと面白かった.