- 19 Oct, 2015 10 commits
-
-
Matthew Holt authored
-
Matthew Holt authored
Also added ServerBlockHostIndex
-
Matthew Holt authored
-
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
-
Matthew Holt authored
-
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!
-
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.
-
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.
-
Matt Holt authored
Cover the rest of the (not one-liner) functions in context
-
makpoc authored
-
- 17 Oct, 2015 2 commits
-
-
Matt Holt authored
Add tests for websocket configuration
-
Marcelo E. Magallon authored
Command arguments: websocket /api5 "cmd arg1 arg2 arg3" Optional block: websocket /api6 cat { respawn } Invalid option in optional block: websocket /api7 cat { invalid }
-
- 15 Oct, 2015 6 commits
-
-
Matt Holt authored
Add context.go tests
-
Makpoc authored
-
makpoc authored
-
makpoc authored
-
Austin Cherry authored
Simplify websocket ticker shutdown code
-
Marcelo E. Magallon authored
"A receive from a closed channel returns the zero value immediately" Close the tickerChan in the calling function, this causes "case <-c" to unblock immediately, ending the goroutine and stopping the ticker.
-
- 14 Oct, 2015 11 commits
-
-
Makpoc authored
-
Makpoc authored
-
Matthew Holt authored
-
Matt Holt authored
Add tests for command splitting and fix root tests on Windows
-
Matt Holt authored
Fix test failures on Windows.
-
makpoc authored
-
Matt Holt authored
websocket: Refactored to use gorilla instead of golang/x
-
Austin authored
-
Zac Bergquist authored
I had commented out this check just to make sure the rest of the test cases were succeeding and forgot to add it back in.
-
Zac Bergquist authored
NewTestController now sets the site root to '.' to accomodate Windows. This introduced a failure on Linux because we join "." and an absolute path in /tmp/ and end up looking for the temp file in the wrong place. This change puts the temp file under the current working directory, which should resolve the issue.
-
Zac Bergquist authored
-
- 13 Oct, 2015 7 commits
-
-
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)
-
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.
-
Matt Holt authored
Distinguish between windows and linux builds
-
Matt Holt authored
Distinguish between windows and linux builds
-
makpoc authored
-
Austin authored
-
Matthew Holt authored
-
- 11 Oct, 2015 4 commits
-
-
Matt Holt authored
Ran gofmt -s, fixed some golint warnings, refactored some large functions Minor quality improvements (closes #253)
-
Zac Bergquist authored
-
Matt Holt authored
Add tests for root.go
-
Matthew Holt authored
... I think. Submitting as PR to double-check. This change changes file mod times on the testdata to ensure they are not all the same so that the sort is predictable!
-