Commits on Mar 9, 2015
  1. Fix #10: Support for node 0.10.x-style APIs

    When sepia was tested with the then-request module, it turned out that
    sepia was not compatible with that module due not conforming to certain
    updated node behavior in the standard library.
    Of course, normally, this type of behavior is transparent to users of
    node, but sepia has to emulate that behavior, hence the breakage.
    Unfortunately, the updated behavior is not compatible with 0.8.x, which
    is an existing use case. I'll deprecate it eventually, but not yet. To
    support both 0.8.x and 0.10.x, I added some conditional code.
    Avik Das committed Mar 9, 2015
  2. Increase "fast" test time threshold

    Ten milliseconds was fine for me, but others have reported that it was
    not a long enough duration. During my testing, I've occasionally hit the
    limit myself. To add stability, I've increased the threshold.
    Avik Das committed Mar 9, 2015
Commits on Feb 26, 2015
  1. Fix #8: don't start up server by default

    The embedded server does not really need to be started if its
    functionality is not required. Why waste resources on another server
    after all?
    It turns out (and I should have thought through this before) that the
    process.exit() calls in the examples were required precisely because
    this server didn't shut down. I added a sepia.shutdown() function to
    address this.
    I bumped the major version because this is technically a
    backwards-incompatible change.
    Avik Das committed Feb 26, 2015
Commits on Aug 28, 2014
  1. Bump version to 1.0.4

    Avik Das committed Aug 28, 2014
  2. Fix jshint errors

    Avik Das committed Aug 28, 2014
  3. Merge pull request #6 from delwyn/setMaxListeners

    Add setMaxListeners to response.connection
    avik-das committed Aug 28, 2014
Commits on Aug 27, 2014
Commits on Feb 26, 2014
  1. Bump version to 1.0.3

    Avik Das committed Feb 26, 2014
  2. Merge pull request #4 from salvipriyanka/master

    Debug support in Sepia
    avik-das committed Feb 26, 2014
Commits on Feb 21, 2014
  1. Debug support in Sepia

    salvipriyanka committed Feb 21, 2014
Commits on Feb 19, 2014
  1. Merge pull request #3 from CrabDude/master

    Fix http.request options to use search field in url.format
    avik-das committed Feb 19, 2014
  2. Fix http.request options to usesearch field in url.format

    Adam Crabtree committed Feb 19, 2014
Commits on Jan 2, 2014
  1. Merge pull request #2 from deepankgupta/master

    Bump up version in package.json.
    avik-das committed Jan 2, 2014
  2. Bump up version in package.json.

    Deepank Gupta committed Jan 2, 2014
Commits on Dec 24, 2013
  1. Merge pull request #1 from avik-das/master

    Add x-sepia-test-name header support
    deepankgupta committed Dec 24, 2013
  2. Add x-sepia-test-name header support

    The explains the rationale and mechanism behind this feature.
    Avik Das committed Dec 24, 2013
Commits on Dec 9, 2013
  1. Compatibility with non-bash shells

    Didn't realize the 'function name {' syntax didn't work on, say, Ubuntu
    systems that run dash as the default 'sh'.
    avik-das committed Dec 9, 2013
  2. Update image URLs in

    So they are accessible on, where the is replicated.
    Avik Das committed Dec 9, 2013
  3. Prepare for publishing

    Bump the version number and update repository URLs.
    Avik Das committed Dec 9, 2013
Commits on Nov 23, 2013
  1. Switch to Apache 2.0 license

    Avik Das committed Nov 23, 2013
Commits on Nov 22, 2013
  1. Re-doing the package.json

    This assumes that the project will be put up on a personal GitHub
    account, and if that assumption does not hold, then I'll modify the URLs
    in a later commit.
    Added a BSD 2-Clause license.
    Avik Das committed Nov 22, 2013
  2. Re-did the entire

    Added documentation for all the features in the module and ordered them
    so they form a cohesive narrative. Added diagrams that explain the
    architecture of the system that motivates the module, as well as the
    module's architecture.
    Avik Das committed Nov 20, 2013
Commits on Nov 19, 2013
  1. Broke up examples by feature

    In doing so, I abstracted out common functionality used by the examples,
    and introduced 'should' into the mix. With this, the examples also
    become automated tests that can be used to determine the correctness of
    the system.
    This cleanup resulted in all the examples passing jshint, so I enabled
    that in 'npm test'.
    The is now outdated with respect to the examples, so that will
    have to be updated when I re-do the documentation.
    Avik Das committed Nov 19, 2013
Commits on Nov 14, 2013
  1. Allow global requests that bypass test name

    Not documented yet, but will be when I redo the documentation properly.
    Avik Das committed Nov 14, 2013
  2. Second round of auditing and cleaning up

    Refactored major sections of util.js, adding tests for almost all the
    functionality (everything except the straightforward "setters").
    The only API change here is the removal of "addRecordOverride". This
    functionality is folded in an option ("forceLive") in the filters,
    because it operates like a filter based on a regex match on the URL.
    Also added a small example file for the "forceLive" functionality. In
    later commits, I'll break up the examples into smaller files,
    refactoring some of the code and trying to make some of the checks more
    automated so it becomes more like a test suite.
    Avik Das committed Nov 13, 2013
  3. First round of auditing and clean up

    Fully audited and cleaned up cache.js. Some minor clean-up in related
    files, as well as in examples/headers.js while testing the refactoring.
    Brought in a new .jshintrc. All files except util.js pass with this.
    Cleaned up and added some logging to the examples. "npm test" now runs
    all the examples, and can serve as a semi-automated test suite.
    Avik Das committed Nov 13, 2013
  4. Add ability to whitelist headers + cookies

    Added the first set of automated tests to verify this functionality.
    More tests will be added in the future to test the rest of the
    Avik Das committed Nov 12, 2013
  5. Clean up

    - Clean up the configuration section stylistically.
    - Add section on header and cookie names.
    Avik Das committed Nov 11, 2013
  6. Forcibly record certain requests in all modes

    Sometimes, we *need* to hit the live downstream server for a request,
    even in playback mode. This allows certain requests to always hit the
    live servers, regardless of the VCR mode.
    deepankgupta committed with Avik Das Aug 29, 2013
  7. Spin up a small HTTP server to set test options

    Sepia now starts a small embedded HTTP server when the module is
    required. This server runs in the same process in which sepia runs, so
    from an external source, the server can be hit in order to modify
    in-process settings.
    In this case, a "test name" is configurable via the server, in order to
    emulate a type of "cassette" functionality available in other VCR
    implementations, allowing fixtures to be separated into various
    Currently, the server's port is hardcoded, but this will be configurable
    in the future.
    Shao-Hua Kao committed with Avik Das Jul 24, 2013
  8. Create .missing files in playback

    When not recording missing fixtures, create a <fixture-name>.missing
    file containing information about the request for which a fixture could
    not be found. This is in addition to throwing an error, as was the case
    This allows the creation of tools that either watch for the creation of
    these .missing files, or apply some post-analysis on these files, in
    order to report what failures occurred when attempting to access
    Vlad Shlosberg committed with Avik Das Jun 21, 2013
  9. Touch .headers file on fixture access

    This can be used to implement a filesystem-level watcher that tracks
    what fixtures are being accessed.
    Vlad Shlosberg committed with Avik Das May 22, 2013
  10. Make fixture record work with non-Buffers

    Ethan Goldblum committed with Avik Das May 3, 2013
  11. Add header + cookie names to fixture names

    Made some jshint fixes, and updated the documentation accordingly.
    Also, allow for a special mode that emulates the timing of the original
    request, with the default being not to emulate the timing.
    Vlad Shlosberg committed with Avik Das Apr 25, 2013