1. 19 Oct, 2015 7 commits
    • Matthew Holt's avatar
      Add ServerBlockIndex and ServerBlockHosts to Controller · a17e9b6b
      Matthew Holt authored
      This way, Setup functions have access to the list of hosts that share the server block, and also, if needed for some reason, the index of the server block in the input
      a17e9b6b
    • Matthew Holt's avatar
      OncePerServerBlock may now return an error · f978967e
      Matthew Holt authored
      f978967e
    • Matthew Holt's avatar
      First use of OncePerServerBlock in a Setup function · fc413e24
      Matthew Holt authored
      startup and shutdown commands should only be executed once per appearance in the Caddyfile (naturally meaning once per server block).
      
      Notice that we support multiple occurrences of startup and shutdown in the same server block by building the callback array incrementally as we parse the Caddyfile, then we append all the callbacks all at once. Quite literally, the OncePerServerBlock function executes only once per server block!
      fc413e24
    • Matthew Holt's avatar
      Don't share sync.Once with all directives · 38719765
      Matthew Holt authored
      If each server block had only one sync.Once then all directives would refer to it and only the first directive would be able to use it! So this commit changes it to a map of sync.Once instances, keyed by directive. So by creating a new map for every server block, each directive in that block can get its own sync.Once which is exactly what is needed. They won't step on each other this way.
      38719765
    • Matthew Holt's avatar
      Epic revert of 0ac8bf58 and adding OncePerServerBlock · f3596f73
      Matthew Holt authored
      Turns out having each server block share a single server.Config during initialization when the Setup functions are being called was a bad idea. Sure, startup and shutdown functions were only executed once, but they had no idea what their hostname or port was. So here we revert to the old way of doing things where Setup may be called multiple times per server block (once per host associated with the block, to be precise), but the Setup functions now know their host and port since the config belongs to exactly one virtualHost. To have something happen just once per server block, use OncePerServerBlock, a new function available on each Controller.
      f3596f73
    • Matt Holt's avatar
      Merge pull request #278 from Makpoc/context_tests · 1d15fe06
      Matt Holt authored
      Cover the rest of the (not one-liner) functions in context
      1d15fe06
    • makpoc's avatar
      72a5579d
  2. 17 Oct, 2015 2 commits
  3. 15 Oct, 2015 6 commits
  4. 14 Oct, 2015 11 commits
  5. 13 Oct, 2015 7 commits
    • Zac Bergquist's avatar
      Fix test failures on Windows. · e158cda0
      Zac Bergquist authored
      Most of the Windows test failures are due to the path separator not being "/".  The general approach I took here was to keep paths in "URL form" (ie using "/" separators) as much as possible, and only convert to native paths when we attempt to open a file.  This will allow the most consistency between different host OS.  For example, data structures that store paths still store them with "/" delimiters.  Functions that accepted paths as input and return them as outputs still use "/".
      
      There are still a few test failures that need to be sorted out.
      
      - config/setup/TestRoot (I hear this has already been fixed by someone else)
      - middleware/basicauth/TestBrowseTemplate and middleware/templates/Test (a line endings issue that I'm still working through)
      e158cda0
    • Makpoc's avatar
      Fix failing test (windows) - simulate an error by executing stat on a filename... · f122b3bb
      Makpoc authored
      Fix failing test (windows) - simulate an error by executing stat on a filename with zero-byte in it. Fix cleanup of created files after the tests.
      f122b3bb
    • Matt Holt's avatar
      Add AppVeyor badge · 6717edcb
      Matt Holt authored
      Distinguish between windows and linux builds
      6717edcb
    • Matt Holt's avatar
      Add AppVeyor badge · dee2e8e6
      Matt Holt authored
      Distinguish between windows and linux builds
      dee2e8e6
    • makpoc's avatar
      Add tests for command splitting · 4544dabd
      makpoc authored
      4544dabd
    • Austin's avatar
      websocket refactored to use gorilla · 222781ab
      Austin authored
      222781ab
    • Matthew Holt's avatar
      Add AppVeyor manifest · 55a098ca
      Matthew Holt authored
      55a098ca
  6. 11 Oct, 2015 4 commits
  7. 10 Oct, 2015 1 commit
  8. 09 Oct, 2015 2 commits