Permalink
Commits on Mar 2, 2017
Commits on Jan 11, 2017
Commits on Dec 1, 2016
Commits on Oct 24, 2016
  1. Mark version as development

    emanchado committed Oct 24, 2016
  2. Mark version 0.6.5

    emanchado committed Oct 24, 2016
  3. Add a pass-through option to RoboHydraFilesystem

    Add an option to make RoboHydraFilesystem ignore the request (and
    pass it through, as if it hadn't matched the RoboHydraFilesystem
    head in the first place) if no matching static file is found.
    
    This allows for custom 404 pages, easy file-based override of
    content coming from a proxy, serving files from two possible
    base directories, and other interesting combinations.
    emanchado committed Oct 24, 2016
Commits on Oct 23, 2016
  1. Small improvements in tests

    The plugin tests were just testing one utility function, so (1)
    split that utility function into its own module, (2) only require
    that from the tests, and (3) require "robohydra" from the main
    plugin file as always.
    
    While at it, clean-up the integration tests a little bit.
    emanchado committed Oct 23, 2016
  2. Add new "admin" priority for dynamic heads

    Sometimes it's useful to be able to place heads before the admin
    plugin. For example, to replace parts of it, or simply to protect
    it with a password and/or limit access to certain IP ranges.
    emanchado committed Oct 23, 2016
  3. Add robohydra/ to plugin search path

    In hindsight, robohydra/plugins/PLUGINNAME/index.js is a very long
    and annoying path. So, add robohydra/ to the plugin search paths so
    that at least we use robohydra/PLUGINNAME/index.js. There isn't
    anything else in RoboHydra anyway so the choice seems safe.
    emanchado committed Oct 23, 2016
Commits on Jul 18, 2016
  1. Make integration tests run without any hacks

    Integration tests are a bit trickier to solve properly without
    potentially breaking RoboHydra installations (is it ok to have a
    relative require from a script?), so for now we'll assume that the
    containing folder is called "robohydra", and set an appropriate
    $NODE_PATH.
    emanchado committed Jul 18, 2016
  2. Make tests runnable without any hacks

    Make all the require statements relative instead of absolute, so
    they always find whatever they need without the need to set
    NODE_PATH or similar nonsense.
    emanchado committed Jul 18, 2016
Commits on Jul 13, 2016
Commits on May 14, 2016
  1. Update ChangeLog

    emanchado committed May 14, 2016
Commits on May 13, 2016
  1. Drop websocket.io in favour of ws

    Module websocket.io makes Node 6.1.0 spit out a warning when loaded
    due to its use of process.EventEmitter. As RoboHydra was currently
    using two WebSocket modules, and it seems that ws is able to do
    what websocket.io was used for, the solution is to simply drop
    websocket.io and only use ws for all WebSocket code.
    
    Yay for dropping dependencies!
    emanchado committed May 13, 2016
Commits on May 6, 2016
  1. Update ChangeLog

    emanchado committed May 6, 2016
  2. Suppress annoying output in integration tests

    It seems that in some configurations/versions of bash, the shell
    prints a "Terminated" message when killing a process in the
    background. That produces very annoying output that interleaves
    with the actual suite output.
    
    Using kill -INT, however, seems to fix the issue.
    emanchado committed with emanchado Apr 25, 2016
  3. Deprecate bodyParams

    Now that we have req.body that contains the parameters when the
    Content-Type is x-www-form-urlencoded, req.bodyParams is obsolete
    and will be deprecated.
    
    However, req.bodyParams works as long as the body contains the
    right format, even if the Content-Type is wrong or missing. Hence,
    we have to keep compatibility in the REST API by checking that the
    Content-Type is correctly set in certain places, and warn the user
    if it's not.
    
    While at it, fix a bug with requests containing parameters in the
    URL (like "/users/:id") and generated properties, like bodyParams
    is now.
    emanchado committed May 3, 2016
  4. Fixes and improvements for request body parsing

    * Add support for x-www-form-urlencoded params.
    * Make req.body null on nonsensical Content-Type or unparseable
      body.
    * Other, small code & test clean-ups.
    emanchado committed with emanchado Apr 13, 2016
Commits on May 3, 2016
  1. Parse common content types into req.body

    Instead of just having "rawBody" and "bodyParams" available, try
    to parse the body into a string, object or whatever is appropriate
    according to the content type and put the result in a new property
    "body". If the content type is not supported or the body doesn't
    have the correct format, "body" will be set to null.
    bbultman committed with emanchado Apr 9, 2016
Commits on Feb 23, 2016
  1. Mark version as development

    emanchado committed Feb 23, 2016
  2. Mark version 0.6.4

    emanchado committed Feb 23, 2016
  3. Disable snyk in post-install, it seems to fail

    As the main reason to add snyk in the first place was to have an
    easy way to check outdated dependencies, there's no point in even
    trying to figure why it fails in post-install. Besides, I'd rather
    not add even more dependencies for regular RoboHydra users.
    emanchado committed Feb 23, 2016
Commits on Feb 20, 2016
  1. Mark version as development

    emanchado committed Feb 20, 2016
  2. Mark version 0.6.3

    emanchado committed Feb 20, 2016
Commits on Feb 19, 2016
  1. Avoid bad plugin config when using pluginConfigDefaults

    Due partly to the perils of mutable data structures, using
    pluginConfigDefaults could result in bad plugin configuration,
    either by assigning configuration keys from other plugins, or by
    overwriting configuration keys with the last plugin mentioning that
    key.
    emanchado committed Feb 19, 2016
Commits on Jan 23, 2016
  1. Make toThrow assertions with exception names work (!)

    Bah, toThrow needs an object as parameter: passing a string doesn't
    produce any error, but seems to accept any exceptions.
    emanchado committed Jan 23, 2016
Commits on Jan 21, 2016
  1. Fix test failures :-S

    Two tests were wrong, how come they never failed before?
    emanchado committed Jan 21, 2016
  2. Upgrade some dependencies to avoid security problems

    Add Snyk to dependencies, upgrade/patch all known vulnerabilities
    in dependencies.
    emanchado committed Jan 21, 2016
Commits on Jan 3, 2016
  1. Don't break streaming in the logger plugin

    The logger plugin used to wait until the whole response was
    produced, then it would log it. Instead of that, simply listen to
    the "end" event of the original response and log it then. It's
    better, simpler, and compatible with streaming.
    emanchado committed Jan 3, 2016
Commits on Nov 12, 2015
  1. Mark version as development

    emanchado committed Nov 12, 2015
Commits on Nov 4, 2015
  1. Keep compatibility with older, non-ES6-powered Nodes

    The "qs" dependency had a wrong version specified, and it was a
    simple ">=". Unfortunately, the latest version of "qs", as of two
    days ago, uses ES6 features so it won't be compatible with older
    Nodes. As there's nothing in RoboHydra that requires a recent
    version of Node (it seems to work even in Node 0.6.x), force the
    "qs" dependency to be slightly older for now. According to
    ljharb/qs#124 (comment) they
    will provide security patches for the 0.5.x series, so we should be
    fine.
    emanchado committed Nov 4, 2015