Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Apr 1, 2012
  1. Add chunked transfer encoding support and rework the body reading API

    Loïc Hoguin authored
    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.
  2. Merge branch 'log-proplist-req'

    Loïc Hoguin authored
  3. Convert request to proplist when logging

    Magnus Klaar authored Loïc Hoguin committed
Commits on Mar 23, 2012
  1. @asabil
  2. Merge branch 'patch-1' of https://github.com/si14/cowboy

    Loïc Hoguin authored
Commits on Mar 22, 2012
  1. @si14
Commits on Mar 21, 2012
  1. @asabil
  2. @asabil
Commits on Mar 15, 2012
  1. Don't close requests when the replied body is chunked

    Loïc Hoguin authored
  2. Add an 'onrequest' hook for HTTP

    Loïc Hoguin authored
    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.
Commits on Mar 13, 2012
  1. Do not send chunked Transfer-Encoding replies for HTTP/1.0

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

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

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

    Magnus Klaar authored
  2. @asabil

    Make media type parsing more relaxed

    asabil authored
    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;
    +http://flipboard.com/browserproxy)"
Commits on Mar 8, 2012
  1. @dysinger
Commits on Mar 2, 2012
Commits on Feb 29, 2012
  1. Tests and fixes for the generate_etag/2 callback

    Magnus Klaar authored
    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.
Commits on Feb 27, 2012
  1. Add a roadmap

    Loïc Hoguin authored
  2. Remove the redundant include/ from -include("http.hrl")

    Loïc Hoguin authored
  3. Remove a completed @todo comment

    Loïc Hoguin authored
Commits on Feb 24, 2012
  1. @essen

    Merge pull request #146 from ostinelli/f3de0869801d3909cc5a5d5dbee819…

    essen authored
    …41481a0c2e
    
    Polish dialyzer warnings on supervisor init/1
  2. Add an empty ebin/ folder to fix a rebar/edoc issue

    Loïc Hoguin authored
    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.
Commits on Feb 23, 2012
  1. Add cowboy_http:x_www_form_urlencoded/2

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

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

    Loïc Hoguin authored
    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.
Commits on Feb 8, 2012
  1. @DeadZen
Commits on Feb 2, 2012
  1. Added absoluteURI support

    David Kelly authored Loïc Hoguin committed
    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
    like:
    
    ``` erlang
    {http_request,'GET',{absoluteURI,http,<<"proxy.server.uri">>,
    	undefined,<<"/some/query/string">>},{1,1}}
    ```
    
    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.
Something went wrong with that request. Please try again.