How to add basic auth header in autobahn client tool
autobahn, websocket
Solution
I have implemented options to send custom HTTP headers for both AutobahnPython client and server. You need to use the latest AutobahnPython on GitHub (master branch).
A client can send headers by providing a `headers` keyword argument during construction of the `WebSocketClientFactory` or set headers via `setSessionParameters`.
A server can send headers similar to client, and additionally specify headers when returning from `onConnect`.
Here is a complete example.
Disclaimer: I am original author of Autobahn and work for Tavendo.
Problem
I want to add basic auth header in the autobahn client tool. How can I achieve that? Current request ``` GET / HTTP/1.1 User-Agent: AutobahnPython/0.5.2 Host: 10.35.34.172:9000 Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Key: 1U4OeBs60qkmk1V/8voLOw== Sec-WebSocket-Version: 8 ``` Request I need: ``` GET / HTTP/1.1 User-Agent: AutobahnPython/0.5.2 Host: 10.35.34.172:9000 Authorization: Basic TXlMb2NhdGlvbkFwcDpNeUxvY2F0aW9uQXBwMTIz Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Key: 1U4OeBs60qkmk1V/8voLOw== Sec-WebSocket-Version: 8 ``` Note: I don't want autobahn server to authenticate the client. My scenario is autobahn client --> my server --> autobahn server. My server will take care of extracting the authorization header and then invoke the autobahn server.