私はAdobeIllustratorスクリプト(この質問は実際にはJSX関連ではありません)からBridgeTalkを介してSocket接続を使用してローカルRailsアプリにHTTPリクエストを送信しようとしています(ご覧のとおり、うまくいかない可能性があります;) )。
最終的にリクエストを取得できましたが、Railsアプリはエラーをスローします。
ERROR bad Request-Line `GET /test.json HTTP/1.1'.
現在、特別なヘッダーは送信されません—セットアップは非常に簡単です。
var connection = new Socket;
var response = '';
var host = '127.0.0.1:3000';
var path = '/test.json';
var method = 'GET';
var request = method + " " + path + " HTTP/1.1";
if (connection.open(host)) {
connection.write(request);
response = connection.read(999999);
} else {
$.writeln('Socket connection failed.');
}
connection.close();
リクエストの形式が正しくないと思いますが、何が期待できるのかわかりません。
RailsアプリはWEBrickで実行されます。
Railsがここで期待していることについてのヘルプやヒントをいただければ幸いです。
アップデート
WEBrickは、リクエスト行の最後にキャリッジリターンを期待しているようです\r\n
。
残念ながら、BridgeTalkを使用して、Bridge内で、uneval()
またはtoSource()
上記の関数を使用する必要があるコードを実行しています。これらはバックスラッシュを逃れて、変換しているようです
GET /test.json HTTP/1.1\r\n
の中へ
GET /test.json HTTP/1.1\\r\\n
同じエラーが発生します。
何か案は?