2012-10-18 9 views
12

外部Webサービスを呼び出すnode.jsコードを一緒にハッキングしていますが、結果が悪いです。私は生の要求と応答を記録して、それを検査できるようにしたいと思います。webstorm内のノードからhttps要求をログアウトする方法

ここには何かがあります:私はhttpライブラリを直接使用していません。、私はOAuthライブラリでそれを消費しています。

私は既にoauthライブラリコードにdebugステートメントを追加していますが、私はそれを気に入っていません。今私はhttpライブラリに入り、それを乱す必要があるように見えますか?これは正しいものではありません。

私が窓にいた場合、私はファイトラーを起こします。友人がwiresharkに言いましたが、wiresharkはX11をインストールする必要があると私に伝えます。本当に?私はそのウサギの穴には行っていない。

私はnode-inspectorを試しましたが、それはクライアントコードではなくサーバーコードのためだと思います。接続する前にノードプロセスを開始するとします。まあ、私のノードプロセスはテストケース(誓い)です。

私はこれがどんなスタックでも難しいと思うけど、ああ、それは私がミスしてしまう。

私は、マウンテンライオンの外部Webサービスへのクライアントとしてnode.jsを使用しているとき、どのような状態になっているのかを調べるにはどうすればよいですか?

ありがとうございました! Dan

+0

あなたはこれで何か運が見つかりましたか? –

答えて

14

同じ理由でhttp/https要求にフックをインストールするように管理しました。

function requestLogger(httpModule){ 
    var original = httpModule.request 
    httpModule.request = function(options, callback){ 
     console.log(options.href||options.proto+"://"+options.host+options.path, options.method) 
     return original(options, callback) 
    } 
} 

requestLogger(require('http')) 
requestLogger(require('https')) 
+1

このメソッドを使用すると、https.request()がhttp.request()に委譲するだけなので、https要求に対して2回ログに記録されます。 "http"にロギングを追加し、 "options._defaultAgent"が存在するかどうかをテストすることでプロトコルを推測します( "https.request()"で設定されています)。 –

+0

リクエストがhttpまたはhttpsを使用しているかどうかを検出するのに十分な 'options.proto'はありませんか? – Gomino

6

あなたは言及@uiron同じ技術を使用していますglobal-request-loggerモジュールを、チェックアウトし、より多くの詳細をすることができます。

関連する問題