2016-05-11 2 views
1

Ich verwende Network.WebSocket Bibliothek. Ich versuchte WS.requestHeaders . WS.pendingRequest auf PendingConnection, um die Verbindungsanfrageinformation zu erhalten. Es scheint jedoch, dass es keine Client-IP-Informationen, nur die Server-IP-Informationen in Host Schlüssel hat. Ein Beispiel für eine Ausgabe:Abrufen der Client-IP-Adresse in der Websocket-Bibliothek

[("Upgrade","websocket"),("Sec-WebSocket-Extensions","permessage-deflate; 
client_max_window_bits"),("Sec-WebSocket-Key","<taken out for SO post>"), 
("Connection","Upgrade"),("Sec-WebSocket-Version","13"),("Host","localhost:8080")] 

Was ist ein guter Weg, um die „Client-IP“ Informationen zu erhalten, wenn Network.Websocket läuft (ich es innerhalb Snap Monade leite mit runWebSocketsSnap). Ich möchte es im Fehlerfall protokollieren.

Antwort

2

runWebSocketsSnap nur eine ganz normale Snap Anwendung ist, so können Sie rqRemoteAddr Remote-IP-Adresse erhalten verwenden:

do 
    addr <- getsRequest rqRemoteAddr 
    runWebSocketsSnap $ \pending -> ... 
+0

Perfect, danke! – Sal

Verwandte Themen