12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*!
- * socket.io-node
- * Copyright(c) 2011 LearnBoost <dev@learnboost.com>
- * MIT Licensed
- */
- /**
- * Module requirements.
- */
- var HTTPTransport = require('./http');
- /**
- * Export the constructor.
- */
- exports = module.exports = HTMLFile;
- /**
- * HTMLFile transport constructor.
- *
- * @api public
- */
- function HTMLFile (mng, data, req) {
- HTTPTransport.call(this, mng, data, req);
- };
- /**
- * Inherits from Transport.
- */
- HTMLFile.prototype.__proto__ = HTTPTransport.prototype;
- /**
- * Transport name
- *
- * @api public
- */
- HTMLFile.prototype.name = 'htmlfile';
- /**
- * Handles the request.
- *
- * @api private
- */
- HTMLFile.prototype.handleRequest = function (req) {
- HTTPTransport.prototype.handleRequest.call(this, req);
- if (req.method == 'GET') {
- req.res.writeHead(200, {
- 'Content-Type': 'text/html; charset=UTF-8'
- , 'Connection': 'keep-alive'
- , 'Transfer-Encoding': 'chunked'
- });
- req.res.write(
- '<html><body>'
- + '<script>var _ = function (msg) { parent.s._(msg, document); };</script>'
- + new Array(174).join(' ')
- );
- }
- };
- /**
- * Performs the write.
- *
- * @api private
- */
- HTMLFile.prototype.write = function (data) {
- data = '<script>_(' + JSON.stringify(data) + ');</script>';
- if (this.response.write(data)) {
- this.drained = true;
- }
- this.log.debug(this.name + ' writing', data);
- };
|