Skip to content

Instantly share code, notes, and snippets.

@cezarsa
Created May 16, 2010 22:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cezarsa/403210 to your computer and use it in GitHub Desktop.
Save cezarsa/403210 to your computer and use it in GitHub Desktop.
From 1bc981530051ac8c586828f818e3bf8bffeb0252 Mon Sep 17 00:00:00 2001
From: Cezar Sa Espinola <cezarsa@gmail.com>
Date: Sun, 16 May 2010 19:10:59 -0300
Subject: [PATCH] Exposing connection headers in the connect event.
---
ws.js | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/ws.js b/ws.js
index 622d693..3b570dc 100644
--- a/ws.js
+++ b/ws.js
@@ -41,7 +41,18 @@ exports.createServer = function (websocketListener) {
var emitter = new process.EventEmitter(),
handshaked = false,
buffer = "";
-
+
+ function parseHeaders(headersArray) {
+ var headers = {};
+ for(var i = 0, len = headersArray.length; i < len; ++i) {
+ var parts = headersArray[i].split(/:\s*/);
+ if(parts.length == 2) {
+ headers[parts[0].toLowerCase()] = parts[1];
+ }
+ }
+ return headers;
+ }
+
function handle(data) {
buffer += data;
@@ -91,7 +102,7 @@ exports.createServer = function (websocketListener) {
}));
handshaked = true;
- emitter.emit("connect", matches[0]);
+ emitter.emit("connect", matches[0], parseHeaders(headers));
}
socket.addListener("data", function (data) {
--
1.7.0.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment