Commits on Apr 1, 2012
  1. Add chunked transfer encoding support and rework the body reading API

    Introduces 3 low level functions and updates the existing higher
    levels functions. The new primitives are has_body/1, body_length/1
    and stream_body/1. In addition to that, a helper function
    init_stream/4 has been added.
    Streaming a body implies to decode the Transfer-Encoding and
    Content-Encoding used for the body. By default, Cowboy will try
    to figure out what was used and decode them properly. You can
    override this if you want to disable this behavior or simply
    support more encodings by calling the init_stream/4 function
    before you start streaming the body.
    Loïc Hoguin committed Mar 28, 2012
  2. Merge branch 'log-proplist-req'

    Loïc Hoguin committed Apr 1, 2012
  3. Convert request to proplist when logging

    Magnus Klaar committed with Loïc Hoguin Mar 31, 2012
Commits on Mar 23, 2012
  1. Merge branch 'patch-1' of

    Loïc Hoguin committed Mar 23, 2012
Commits on Mar 22, 2012
Commits on Mar 21, 2012
Commits on Mar 15, 2012
  1. Don't close requests when the replied body is chunked

    Loïc Hoguin committed Mar 15, 2012
  2. Add an 'onrequest' hook for HTTP

    This new protocol option is a fun.
    It expects a single arg, the Req, and should only return a possibly
    modified Req. This can be used for many things like URL rewriting,
    access logging or listener-wide authentication.
    If a reply is sent inside the hook, then Cowboy will consider the
    request handled and will move on to the next one.
    Loïc Hoguin committed Mar 15, 2012
Commits on Mar 13, 2012
  1. Do not send chunked Transfer-Encoding replies for HTTP/1.0

    Fixes compatibility issue #140 reported by @majek.
    Loïc Hoguin committed Mar 13, 2012
  2. Merge branch 'content-type-accepted-asterisk-atom' of https://github.…

    Added a comment explaining the '*' always matching.
    Loïc Hoguin committed Mar 12, 2012
Commits on Mar 12, 2012
  1. Rename inet:ip_port() to inet:port_number()

    Thanks go to @superbobry for pointing it out.
    Loïc Hoguin committed Mar 12, 2012
Commits on Mar 9, 2012
  1. Fix issue #157 relating to daylight savings time.

    Magnus Klaar committed Mar 9, 2012
  2. Make media type parsing more relaxed

    Certain user agents send slightly invalid media types, like the
    following: "text/html, image/gif, image/jpeg, ; q=.2, */; q=.2"
    The user agent with which this behavior was observed presented itself
    with the User-Agent string: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X
    10.6; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (FlipboardProxy/0.0.5;
    asabil committed Mar 9, 2012
Commits on Mar 8, 2012
Commits on Mar 2, 2012
Commits on Feb 29, 2012
  1. Tests and fixes for the generate_etag/2 callback

    The return value from the generate_etag/2 callback is expected to be a
    binary tagged with either weak or strong. This binary is quoted, and
    may be prefixed with W/ before it is set as the value of the ETag header
    in the response.
    For backwards compatibility with older handlers where the return value
    was expected to be a quoted binary a function has been added to parse any
    return values that are untagged binaries. All untagged binaries are expected
    to be a valid value for the ETag header.
    Magnus Klaar committed Feb 28, 2012
Commits on Feb 27, 2012
  1. Add a roadmap

    Loïc Hoguin committed Feb 27, 2012
  2. Remove the redundant include/ from -include("http.hrl")

    Loïc Hoguin committed Feb 27, 2012
  3. Remove a completed @todo comment

    Loïc Hoguin committed Feb 27, 2012
Commits on Feb 24, 2012
  1. Merge pull request #146 from ostinelli/f3de0869801d3909cc5a5d5dbee819…

    Polish dialyzer warnings on supervisor init/1
    essen committed Feb 24, 2012
  2. Add an empty ebin/ folder to fix a rebar/edoc issue

    When missing rebar couldn't build docs because it expects the ebin/
    folder to exist before it runs edoc. This commit allows users to
    build docs without first having to run make.
    Loïc Hoguin committed Feb 24, 2012
Commits on Feb 23, 2012
  1. Add cowboy_http:x_www_form_urlencoded/2

    This was initially an internal function, it has been made public
    due to popular demand as it can sometimes be needed.
    Loïc Hoguin committed Feb 23, 2012
Commits on Feb 21, 2012
Commits on Feb 20, 2012
  1. Check for upgrades on accept timeout

    Otherwise acceptors will not be upgraded properly until after the
    next request comes in.
    Thanks to DeadZen for pointing it out.
    Loïc Hoguin committed Feb 20, 2012
  2. Add 'Expect' header parsing

    At the same time renaming cowboy_http:content_type_params/3 to
    cowboy_http:params/2 (with a default Acc of []) as this code isn't
    useful only for content types.
    Loïc Hoguin committed Feb 20, 2012
Commits on Feb 8, 2012
Commits on Feb 2, 2012
  1. Added absoluteURI support

    If requests go through a proxy, they will have the original uri in the
    request, i.e. : GET http://proxy.server.uri/some/query/string  HTTP 1.1 ...
    That was problematic -- cowboy_http_protocol:request didn't know what to
    to with the result of decode_packet applied to this, which would be something
    ``` erlang
    So, I just ignore the host, grab the path and pass into
    ``` erlang
    cowboy_http_protocol:request({http_request, Method, {abs_path, Path},
    	Version}, State)
    Seems to do the trick without much effort.
    David Kelly committed with Loïc Hoguin Feb 1, 2012