2016-09-05 7 views
2

コンジットまたはcohttpレベルでリモートIPアドレスを取得できますか?私はソースコードを掘り下げようとしましたが、抽象化のいくつかの層の下に埋もれているようです。私はunikernelsとして展開し、リクエスタのIPアドレスを記録することを計画している休憩サービスはセキュリティ要件です。ocaml cohttpまたはconduitでリモートIPアドレスを取得できますか?

私はcohttpを使用しており、これはunix(テスト用)とxen(デプロイメント用)の両方で実行できるようにしたいと考えています。必要に応じて、2つの環境の条件付きコードを入れることができます。

答えて

3

Iはにthe example in cohttp's readme修飾:あまりにも明らかではない

(TCP((fd <opaque>)(ip(V4 127.0.0.1))(port 62168))) 

は(これを考え出す; Iは一例で_connを置換:私はローカルホストから接続されている場合、それは印刷

open Sexplib 
[...] 

    let callback (flow, _connection_id) req body = 
    Conduit_lwt_unix.sexp_of_flow flow |> Sexp.to_string |> print_endline; 

()と続き、タイプエラーに続きました...)

+0

これはとても役に立ち、感謝します。私は今、それを蜃気楼で働かせる方法を見つけようとしています。 conduit_mirage/cohttp_mirageのフローがV1_LWT.FLOWの実装に委任されているようですが、そのためにsexp変換が見つかりません。私は掘り続けている。 –

関連する問題