- 15 Nov, 2015 4 commits
-
-
Matthew Holt authored
Added a -grace flag to customize graceful shutdown period, fixed bugs related to closing file descriptors (and dup'ed fds), improved healthcheck signaling to parent, fixed a race condition with the graceful listener, etc. These improvements mainly provide better support for frequent reloading or unusual use cases of Start and Stop after a Restart (POSIX systems). This forum thread was valuable help in debugging: https://forum.golangbridge.org/t/bind-address-already-in-use-even-after-listener-closed/1510?u=matt
-
Matthew Holt authored
-
Matthew Holt authored
Fixed pidfile writing problem where a pidfile would be written even if child failed, also cleaned up restarts a bit and fixed a few bugs, it's more robust now in case of failures and with logging.
-
Matthew Holt authored
Whether the original parent process or a child process as part of a restart, the pidfile will not be written/changed until that process has started successfully. It is written every time caddy.Start() succeeds (may be reundant, but that's probably okay).
-
- 14 Nov, 2015 3 commits
-
-
Matt Holt authored
fixed test failure on CPU 1 core machine.
-
Matt Holt authored
gzip: added Vary: Accept-Encoding to response header.
-
Tatsuhiko Kubo authored
When CPU is 1 core, expected value (int(0.5 * float32(maxCPU))) is zero. But runtime.GOMAXPROCS(-1) returns always 1.
-
- 13 Nov, 2015 1 commit
-
-
Tatsuhiko Kubo authored
When the downstream is cache server or CDN, it is important.
-
- 11 Nov, 2015 8 commits
-
-
Matt Holt authored
startup: Only run commands at first startup
-
Matthew Holt authored
-
Matthew Holt authored
Actually, restart on posix systems failed entirely if caddy was executed without the path included; also fixed a related bug where a variable was declared but never assigned.
-
Matthew Holt authored
-
Matthew Holt authored
We had to hack some special support into the server and caddy packages for this. There are some middlewares which should only execute commands when the original parent process first starts up. For example, someone using the startup directive to start a backend service would not expect the command to be executed every time the config was reloaded or changed - only once when they first started the original caddy process. This commit adds FirstStartup to the virtualhost config
-
Matt Holt authored
Alphabetize command line options, add -pidfile
-
AJ ONeal authored
As per https://github.com/mholt/caddy/issues/331
-
AJ ONeal authored
As per https://github.com/mholt/caddy/issues/317
-
- 10 Nov, 2015 3 commits
-
-
Matthew Holt authored
-
Matthew Holt authored
Some programs (Node.js, supervisor, etc.) open a stdin pipe by default and don't use it, causing Caddy to block. It is their error, but we have to try to accommodate unfortunately. To fix this more universally, parent must explicitly set -conf to "stdin" to read from pipe.
-
Matthew Holt authored
Since a directive can appear on multiple lines, the object syntax wasn't working well. This also fixes several other serialization bugs.
-
- 09 Nov, 2015 2 commits
-
-
Matthew Holt authored
The error channel used when starting all the servers must be buffered so that, even if there are no errors at startup, the returns that insert into the error channel will not be blocked, since after startup, nobody is reading that channel anymore.
-
Matthew Holt authored
-
- 08 Nov, 2015 9 commits
-
-
Matt Holt authored
Wrote tests for browse.go and redir.go
-
Dipen Patel authored
-
Matthew Holt authored
The base path being optional in the Caddyfile is convenient when you just want the whole site to be markdown-enabled. The other change is to always generate links... this is because an index page for markdown files may not be statically generated, but it should still show links. Commit 09341fca was a regression, and this fixes it.
-
Dipen Patel authored
-
Matthew Holt authored
-
Matthew Holt authored
-
Matthew Holt authored
-
Matthew Holt authored
-
Matthew Holt authored
It can take a few seconds...
-
- 07 Nov, 2015 1 commit
-
-
Dipen Patel authored
-
- 06 Nov, 2015 6 commits
-
-
Matthew Holt authored
-
Matt Holt authored
use log instead of fmt to obey the -log flag
-
Benny Ng authored
-
Matt Holt authored
fixed data races in websockets
-
Matthew Holt authored
Also we're not messing with log flags anymore during parsing. Timestamps could come in handy, plus concurrent logging is going on now.
-
Matthew Holt authored
-
- 05 Nov, 2015 3 commits
-
-
Matthew Holt authored
Previously, if a listener fails to bind (for example), there was a race in caddy.go between unblocking the startup waitgroup and returning the error and putting it into errChan. Now, an error is returned directly into errChan and the closing of the startup waitgroup is defered until after that return takes place.
-
Matthew Holt authored
Log file can also be stdout or stderr. Log output is disabled by default now, which makes it more feasible to add more log statements to trace program flow in debugging situations.
-
Matt Holt authored
add helpful suggestion to identify problem
-