Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Out of service — Please use Q-IO
JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
test
CHANGES
LICENSE
README
package.json
q-http.js

README

Provides a Q promise API for HTTP requests and responses.  This should
resemble JSGI and its hypothetical inverse, but I haven't pored
through the specification to ensure this.

The API

    Server(respond(request):Response*)
        listen(port:Number):Undefined*
        stop():Undefined*

    Client(port:Number, host:String)
        request(request:Request):Response*

    request(request:Request):Response*

    Request:Object

        version:Array HTTP version
        scheme:String e.g., "http"
        method:String e.g., "GET"
        host:String
        port:Number
        remoteHost:String
        remotePort:Number
        scriptName:String the routed portion
            of the path, e.g., "" for the
            root document
        pathInfo:String the part of the path
            that remains to be routed, e.g.,
            "/" for the root document
        path:String the full path, regardless of routing
        url:String the full URL, regardless of routing
        headers:Object
        body*
            forEach(write(String*)):Undefined*
        nodeRequest
        nodeConnection

    Response:Object

        status:Number
        headers:Object
        body*
            forEach(write(String*)):Undefined*
        onClose:Function?

Conventions

    `*` indicates that a value may be a promise
    `?` indicates optional
    `||` indicates a default

Copyright 2009, 2010 Kristopher Michael Kowal
MIT License (enclosed)

Something went wrong with that request. Please try again.