Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Jun 09, 2014

  1. Dan Carley

    Merge pull request #71 from alphagov/support-1.2

    Build on go 1.2
    dcarley authored
  2. James Abley

    Build on go 1.2

    1.3 is imminent, we should check our migration path.
    jabley authored

May 27, 2014

  1. Bradley Wright

    Merge pull request #67 from alphagov/router_mux_atomicity

    Protect router mux pointer access with a mutex

May 16, 2014

  1. Alex Tomlins

    Merge pull request #70 from alphagov/return-500-response-for-bad-cont…

    …ent-length-in-go-1.2
    
    Mark bad Content-Length tests as pending for Go 1.2
    alext authored
  2. Kushal Pisavadia

    Mark bad Content-Length tests as pending for Go 1.2

    This was a regression found when compiling and testing the router
    under go 1.2 compared to 1.1.2 (currently built against version).
    Since go 1.2 the behaviour for how bad Content-Length headers are
    handled has changed from providing a (private) error value that we
    could match against through to directly returning an
    `io.ErrUnexpectedEOF` error.
    
    Marking these tests as pending as they may eventually start working again
    and somebody should look at it again when that happens.
    KushalP authored

Dec 09, 2013

  1. Alex Tomlins

    Rename mutex variable name.

    Avoid confusion around similarity with the mux variable
    alext authored

Dec 06, 2013

  1. Alex Tomlins

    Protect router mux pointer access with a mutex

    Pointer updates aren't guaranteed to be atomic on all platforms (e.g.
    Arm).  Protect accesses to the router's mux pointer with a mutex.
    alext authored

Nov 15, 2013

  1. Bradley Wright

    Merge pull request #65 from alphagov/invalid_content_length

    Return a 400 if an invalid content-length header given.
    bradleywright authored
  2. Alex Tomlins

    Return a 400 if an invalid content-length header given.

    This was previously triggering a 500 error.
    alext authored
  3. Bradley Wright

    Merge pull request #64 from alphagov/cleaner_error_handling

    Tidy up backend error handling.
    bradleywright authored
  4. Alex Tomlins

    Tidy up backend error handling.

    This handles all errors here, which will aviod duplicating generic
    errors between the error json log and the STDERR output.
    alext authored

Nov 11, 2013

  1. Dan Carley

    Rename CachePeriod to cacheDuration

    Because it's a `time.Duration` and there's no reason to use it outside of
    this package (though I'm not sure that actually matter for consts).
    dcarley authored
  2. Dan Carley

    Use CACHE_EXPIRES_PERIOD const in tests

    Rather than duplicating the integer.
    dcarley authored

Nov 08, 2013

  1. Alex Tomlins

    Merge pull request #63 from alphagov/60401480-redirect_cache_headers

    [#60401480] 24hr cache headers on redirects
    alext authored
  2. Dan Carley

    [#60401480] Cache headers for exact redirects

    Cribbed `http.redirectHandler` from stdlib so that we can insert additional
    headers onto `http.ResponseWriter` before calling `http.Redirect()`.
    
    Moved the addition of header to a function, common to both, which modifies
    the `ResponseWriter` in-place.
    dcarley authored
  3. Dan Carley

    [#60401480] Cache headers for prefix redirects

    Emitting `Expires` and `Cache-Control` as recommended by the RFC, to account
    for HTTP/1.1 clients with HTTP/1.0 intermediaries.
    
    Implemention for exact redirects to follow.
    dcarley authored
  4. Dan Carley

    [#60401480] Specs for redirect cache headers

    All redirects should emit cache headers of 24hrs.
    dcarley authored
  5. Bradley Wright

    Merge pull request #62 from alphagov/quieter_logging

    Reduce amount of logging by default.
    bradleywright authored
  6. Alex Tomlins

    Add DEBUG variable to usage message

    alext authored
  7. Alex Tomlins

    Fix stray reference to application

    alext authored
  8. Alex Tomlins

    Reduce amount of logging by default.

    debug messages can still be enabled by setting the DEBUG env variable to
    something non-blank
    alext authored
  9. Bradley Wright

    Merge pull request #61 from alphagov/read_from_primary

    Always read from the mongo primary.
    bradleywright authored
  10. Alex Tomlins

    Always read from the mongo primary.

    This will ensure that the data being read is up to date.
    alext authored
  11. Alex Tomlins

    Merge pull request #60 from alphagov/more_documentation

    More documentation
    alext authored
  12. Dan Carley

    [README] Document why we don't have access logging

    At least for now. But we do have error logging.
    dcarley authored
  13. Dan Carley

    [README] Link to router-api

    You don't have to suffer MongoDB commands.
    dcarley authored
  14. Dan Carley

    [README] Reorder build and environment sections

    Build belongs near Test. Environment assumptions belong at the top, to give
    people an overview of what the project does.
    dcarley authored
  15. Bradley Wright

    Merge pull request #59 from alphagov/test_docs

    [#60322580] Test documentation
    bradleywright authored
  16. Dan Carley

    Replace old benchmark suite with new test docs

    I don't think we've actually run these original benchmark tests in a while.
    Nonetheless they have now been superseded by `spec/performance_spec.rb`,
    apart from the handling of a large routing table, which will be taken care
    of by story [#60237076].
    
    Replace these with documentation about the tests we now have. So that
    newcomers to the project know what's available, where to find it, and why.
    dcarley authored
  17. Dan Carley

    Make jenkins.sh work outside of Jenkins

    Make the shared Bundler path conditional based on `$JOB_NAME` (which Jenkins
    exports) so that the script can be used to run all tests on your own
    machine. Strictly the name is wrong, if you can run it outside of Jenkins,
    but it follows the convention we've used elsewhere.
    
    NB: The hyphen after the variable name ensures that we don't bomb out on an
    unbound variable when not present.
    dcarley authored

Nov 07, 2013

  1. Alex Tomlins

    Merge pull request #58 from alphagov/59040160-perf_bound_testing

    [Fixes #59040160] Throughput and concurrency tests
    alext authored
  2. Dan Carley

    Merge pull request #57 from alphagov/api_stats_endpoint

    [Fixes #60236356] Output stats in the API.
    dcarley authored
  3. Dan Carley

    [#59040160] Throughput and concurrency tests

    Tests for throughput (requests per second) and concurrency (requests in
    flight at a single point in time). These appear to be mostly limited by the
    file descriptor ulimit of the process/shell that they are run from.
    
    Because we're launching the following from rspec all in parallel:
    
    - 2x Vegeta attack.
    - 2x Vegeta report.
    - 2x Simple backend.
    - Router.
    
    The combination of the above, not necessarily the router, is also pretty
    harsh on system resources such as CPU. So it would be rude to run these from
    CI. As such I'm marking them as optional. You can opt into running as
    follows:
    ```
    ulimit -n 4096
    rspec --tag ulimits
    ```
    dcarley authored
  4. Dan Carley

    Allow vegeta args to be passed to shared example

    The VegetaHelper already allows a hash of additional CLI arguments to be
    passed on. Allowing individual tests to modify the duration or rate of
    requests. This reinstates that ability by allowing a hash to be passed to
    the shared example, which defaults to `{}`.
    dcarley authored
  5. Dan Carley

    Restructure performance specs

    So that we can add a context that doesn't use "two healthy backends".
    dcarley authored
Something went wrong with that request. Please try again.