Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Mar 21, 2012
  1. Test is handle_open is defined in the CallbackMod.

    Signed-off-by: François de Metz <>
Commits on Mar 16, 2012
  1. Add doc.

    Signed-off-by: François de Metz <>
  2. Rename handle_message/2 by handle_open/1.

    Signed-off-by: François de Metz <>
  3. Fix the unused param.

    Signed-off-by: François de Metz <>
  4. Websocket open callback.

    We can now pass some parameters when upgrading to websockets.
        {websockets, CallbackMode, Opts, Params}
    When the connection is upgraded, the websocket module now call:
        CallbackMode:handle_message(open, Params)
    Which allows you to keep some parameters from the initial request.
    On the open callback, you can also send date over the connection.
        handle_message(open, _Params) ->
            yaws_api:websocket_send(self(), {text, <<"Hello world">>}).
      * handle compatibility with the previous implementation
      * should we handle return value? Like {close, Reason}?
      * update doc
      * add tests
      * gather feedback
    Signed-off-by: François de Metz <>
Commits on Mar 6, 2012
  1. @capflam

    Update gitignore file

    capflam authored
  2. @capflam

    Fix bug when reentrant requests are used to return regular files

    capflam authored
    Response headers were not correctly set, in particular the Content-Length
    header. This bug was fixed by refactoring the way reentrant requests are
Commits on Mar 5, 2012
  1. @vinoski

    Merge pull request #94 from karlsson/master

    vinoski authored
    Adapted to new yaws
Commits on Mar 4, 2012
  1. @karlsson
Commits on Feb 28, 2012
  1. @capflam
Commits on Feb 27, 2012
  1. @tuncer
Commits on Feb 24, 2012
  1. @capflam

    Add the revproxy testsuite

    capflam authored
Commits on Feb 21, 2012
  1. @capflam

    Refactor the reverse proxy to manage it as a "special" appmod

    capflam authored
    Now, the reverse proxy is written like an appmod and follows the same
    workflow. We forge the #urltype{} record and use Arg#arg.state to pass
    the revproxy's rule before calling yaws_revproxy:out/1.
    For now, the support of persistent connections with the backend servers
    is disabled. But it does not affect the status of client connections.
    Chunked-transfer encoded requests and responses are supported.
    Despite this refactoring, yaws_revproxy is always experimental and need
    more tests to be safely used in production environments.
  2. @capflam

    Manage all 'special' headers of #headers{} and #outh{} records

    capflam authored
    Some headers, like 'Content-Encoding' or 'Transfer-Encoding' were
    not correctly handled. These changes can be useful for everyone who
    writes yaws scripts or appmods. In particular, the next version of
    the reverse proxy depends on it.
Commits on Feb 17, 2012
  1. @vinoski
  2. @vinoski

    clean up rebar build problems with examples/src

    vinoski authored
    Clean up some duplicate options and extra whitespace in
    examples/src/Makefile, and add examples/src to rebar.config to make
    sure it gets built under rebar.
Commits on Feb 15, 2012
  1. @capflam

    Fix issue #88

    capflam authored
    2 changes here:
     * Revert "Flush remaining data when dynamic content is delivered"
    This reverts commit d09ed3d.
    Systematically flushing data is not a good idea.
     * Add "flush" as possible return value of the out/1 function
    Some clients (eg. Firefox and google-chome...) do not handle connection
    close gracefully when the connection is closed during sending data; they
    do not read the server response. So, when the response is important, to
    warn the end-user that an error occured for example, we must be fair by
    flushing data before closing the connection.
Commits on Feb 13, 2012
  1. @klacke

    Fixed issue 87

    klacke authored
Commits on Feb 12, 2012
  1. @vinoski

    add close callback for websockets

    vinoski authored
    WebSocket clients can close their end of the connection, and RFC 6455
    requires servers to handle that message appropriately. This change
    adds a new callback message for basic WebSocket callback modules. The
    server now also replies to client "close" messages with a "close"
    reply, as RFC 6455 requires. WebSockets documentation updated as well.
    Also included a message ordering fix from Jan Bothma.
Commits on Feb 10, 2012
  1. @vinoski

    minor cleanup

    vinoski authored
Commits on Feb 2, 2012
  1. @capflam

    Allow the server signature to be defined per virtual server

    capflam authored
    Now, we can use the 'server_signature' directive into the server part
    to overload the global one for specific virtual server.
Commits on Jan 24, 2012
  1. @klacke
Commits on Jan 23, 2012
  1. @garret-smith

    rotate log file regardless of copy_errlog parameter

    garret-smith authored
    Signed-off-by: Garret Smith <>
  2. @garret-smith

    fix log rotation on Windows, where fsync() is required to get the act…

    garret-smith authored
    …ual file size
    Signed-off-by: Garret Smith <>
Commits on Jan 20, 2012
  1. @tuncer

    Simplify excl_sys_filters

    tuncer authored
Commits on Jan 18, 2012
  1. @sgolovan @vinoski

    fixed wiki app XSS vulnerabilities

    sgolovan authored vinoski committed
    In applications/wiki/src/wiki.erl,
    applications/wiki/src/wiki_to_html.erl: Fixed CVE-2011-5025 (multiple
    cross-site scripting (XSS) vulnerabilities in the wiki) by accepting
    only letters and digits in node names, guarding a few calls to
    list_to_integer/1, and escaping all HTML which goes to a user's
  2. @sgolovan @vinoski

    R15B compatibility fixes

    sgolovan authored vinoski committed
    In applications/mail/src/mail.erl, applications/mail/src/smtp.erl,
    applications/wiki/src/utils.erl, applications/wiki/src/wiki.erl,
    applications/wiki/src/wiki_yaws.erl: Fixed compatibility with Erlang
    R15B. Replaced atom/1, list/1, integer/1 by is_atom/1, is_list/1,
    is_integer/1 and erlang:fault/1 by erlang:error/1. In the wiki app,
    replaced regexp module by re one, renamed error/1 by html_error/1 to
    avoid clashing with global error/1 function.
  3. @sgolovan @vinoski

    fix syntax and spelling errors in man pages

    sgolovan authored vinoski committed
    In man/yaws.conf.5, man/yaws_api.5: Fixed a few syntax and spelling
    errors in manpages.
  4. @sgolovan @vinoski

    handle parseable but invalid ctlfile

    sgolovan authored vinoski committed
    src/yaws_ctl.erl: Process the case when ctlfile is parseable but its
    content is invalid.
  5. @sgolovan @vinoski

    fixes for make clean in applications and doc dirs

    sgolovan authored vinoski committed
    * applications/wiki/scripts/Makefile: Remove all scripts on make
    * applications/yapp/Makefile: Remove forgotten PNG image on make
    * doc/Makefile: Remove generated www/ and www/yaws.pdf on
      make clean.
Commits on Jan 9, 2012
  1. @klacke
  2. @klacke
  3. @klacke
  4. @klacke

    Merge remote-tracking branch 'capflam/trace_improvements'

    klacke authored
  5. @klacke
Something went wrong with that request. Please try again.