/** * @name node.http * @namespace * To use the HTTP server and client one must <code>require('http')</code>. * * The HTTP interfaces in Node are designed to support many features * of the protocol which have been traditionally difficult to use. * In particular, large, possibly chunk-encoded, messages. The interface is * careful to never buffer entire requests or responses--the * user is able to stream data. * * HTTP message headers are represented by an object like this: * <pre> * { 'content-length': '123', * 'content-type': 'text/plain', * 'connection': 'keep-alive', * 'accept': '*/*' } * </pre> * Keys are lowercased. Values are not modified. * * In order to support the full spectrum of possible HTTP applications, Node's * HTTP API is very low-level. It deals with stream handling and message * parsing only. It parses a message into headers and body but it does not * parse the actual headers or the body. */ goog.provide("node.http"); goog.require("node.http.ClientRequest"); goog.require("node.http.ServerResponse"); goog.require("node.http.Server"); /** * @type {string|null} */ node.http.parsers = null; /** * @type {string|null} */ node.http.STATUS_CODES = null; /** * @param {function(node.http.ClientRequest,node.http.ServerResponse):undefined} requestListener * @return {node.http.Server} */ node.http.createServer = function(requestListener) { return node.http.core_.createServer(requestListener); }; /** * @param {string} host * @param {string} port */ node.http.getAgent = function(host, port) { return node.http.core_.getAgent(host, port); }; /** * @param {Object} options * @param {string} cb */ node.http.request = function(options, cb) { return node.http.core_.request(options, cb); }; /** * @param {Object} options * @param {string} cb */ node.http.get = function(options, cb) { return node.http.core_.get(options, cb); }; /** * @param {string} port * @param {string} host */ node.http.createClient = function(port, host) { return node.http.core_.createClient(port, host); }; /** * @param {string} url * @param {string} encoding_ * @param {string} headers_ */ node.http.cat = function(url, encoding_, headers_) { return node.http.core_.cat(url, encoding_, headers_); }; /** * @private * @type {*} */ node.http.core_ = require("http");