59 lines
2.3 KiB
JavaScript
59 lines
2.3 KiB
JavaScript
/************************************************************************
|
|
* Copyright 2010-2011 Worlize Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
***********************************************************************/
|
|
|
|
var deprecation = require('./Deprecation');
|
|
var util = require('util');
|
|
var EventEmitter = require('events').EventEmitter;
|
|
|
|
function WebSocketRouterRequest(webSocketRequest, resolvedProtocol) {
|
|
this.webSocketRequest = webSocketRequest;
|
|
if (resolvedProtocol === '____no_protocol____') {
|
|
this.protocol = null;
|
|
}
|
|
else {
|
|
this.protocol = resolvedProtocol;
|
|
}
|
|
this.origin = webSocketRequest.origin;
|
|
this.resource = webSocketRequest.resource;
|
|
this.resourceURL = webSocketRequest.resourceURL;
|
|
this.httpRequest = webSocketRequest.httpRequest;
|
|
this.remoteAddress = webSocketRequest.remoteAddress;
|
|
this.webSocketVersion = webSocketRequest.webSocketVersion;
|
|
// Deprecated websocketVersion (proper casing...)
|
|
Object.defineProperty(this, "websocketVersion", {
|
|
get: function() {
|
|
deprecation.warn('websocketVersion');
|
|
return this.webSocketVersion;
|
|
}
|
|
});
|
|
this.requestedExtensions = webSocketRequest.requestedExtensions;
|
|
this.cookies = webSocketRequest.cookies;
|
|
}
|
|
|
|
util.inherits(WebSocketRouterRequest, EventEmitter);
|
|
|
|
WebSocketRouterRequest.prototype.accept = function(origin, cookies) {
|
|
var connection = this.webSocketRequest.accept(this.protocol, origin, cookies);
|
|
this.emit('requestAccepted', connection);
|
|
return connection;
|
|
};
|
|
|
|
WebSocketRouterRequest.prototype.reject = function(status, reason, extraHeaders) {
|
|
this.webSocketRequest.reject(status, reason, extraHeaders);
|
|
this.emit('requestRejected', this);
|
|
};
|
|
|
|
module.exports = WebSocketRouterRequest; |