Matthew Holt
9dfbbbcda4
errors: Pointer to handler prevents nil pointer errors in handling ( fixes #15 )
...
If we do not use a pointer here, the startup function that opens the log file stores the log file in a copy of the handler, not the same instance of the handler, causing panics during requests, which is bad, especially when the response is gzipped: the next recover() is beyond the gzip handler, so the browser downloads a gz file instead.
2015-04-30 10:16:49 -06:00
Matthew Holt
b51e8bc191
fastcgi: Fix for handling errors that come from responder
2015-04-30 07:50:07 -06:00
Thomas Hansen
17fa5a9334
adding support for fastcgi index files in subdirectories
2015-04-28 13:15:14 -06:00
Matthew Holt
9b74901b40
errors: Fix file paths for error pages & empty log filenames
2015-04-28 13:05:01 -06:00
Matthew Holt
ff344535ba
Added some godoc
2015-04-27 10:56:57 -06:00
Thomas Hansen
dbef6c73bc
Merge branch 'master' of https://github.com/mholt/caddy
2015-04-27 09:39:40 -06:00
Matthew Holt
fa2403c1d3
websockets: quick version fix
2015-04-27 07:35:39 -06:00
Matthew Holt
dba4dcb4a5
gzip strips Accept-Encoding header after using it
2015-04-26 22:53:47 -06:00
Thomas Hansen
9d26a9268b
added comment about encoding header
2015-04-26 22:15:43 -06:00
Thomas Hansen
1b17072a89
gzip middleware now strips encoding header
2015-04-26 22:01:20 -06:00
Matthew Holt
7d46108c12
With just a destination, default redir code is now 301
2015-04-26 20:20:32 -06:00
Thomas Hansen
1ac32a5256
generalizing fastcgi parameters, and improving headers passed.
2015-04-25 21:56:14 -06:00
Thomas Hansen
9e12c45d82
Merge branch 'master' of https://github.com/mholt/caddy
2015-04-25 19:06:39 -06:00
Matthew Holt
ce74333348
Markdown requires a base path (for now)
2015-04-25 12:26:04 -06:00
Matthew Holt
27fc1672d4
Basic auth middleware
2015-04-23 14:57:07 -06:00
Matthew Holt
95dce5cdfc
Latency now available with recorder and replacer
2015-04-23 13:35:56 -06:00
Matthew Holt
51139a5f56
log: Fix so user can specify custom log format
2015-04-23 13:35:21 -06:00
Matthew Holt
c10d2e0d45
Make the thing compile
2015-04-21 22:30:47 -06:00
Matthew Holt
1a8f753303
Meh.
2015-04-21 21:41:58 -06:00
Matthew Holt
23f7f5ebba
Minor UI tweaks to directory listings
2015-04-21 21:36:43 -06:00
Matthew Holt
bdd145b0de
Better error handling when executing templates
2015-04-21 21:36:30 -06:00
Thomas Hansen
96985fb3fd
adding support for php including clean urls and wordpress permalinks
2015-04-20 17:40:54 -06:00
Matthew Holt
6a32de4b47
Use text/template because html shouldn't be escaped for this
2015-04-18 12:28:22 -06:00
Matthew Holt
f5d0ed5b1c
More template love
2015-04-18 11:31:59 -06:00
Matthew Holt
55801b48ec
More template functions
2015-04-18 11:08:41 -06:00
Matthew Holt
3ec870cb56
Templates middleware with "include" functionality
2015-04-18 09:57:51 -06:00
Matthew Holt
cd0421ceb8
Package extension -> extensions
2015-04-18 09:55:02 -06:00
Matthew Holt
c7af6725ca
Removed Host() and Port() functions from Controller
...
I don't think they'll be necessary; can get same info from request Host header
2015-04-15 23:17:28 -06:00
Matthew Holt
a93db40138
Improvements to the redirect middleware
2015-04-12 18:13:58 -06:00
Matthew Holt
6ca475def8
Redirect now does exact path matching like rewrite middleware
2015-04-12 17:40:59 -06:00
Matthew Holt
d8e7adcdb4
Refactored proxy middleware
2015-04-11 17:24:47 -06:00
Matthew Holt
113b175db7
Refactored fastcgi middleware
2015-04-11 17:15:17 -06:00
Matthew Holt
40bf7c5285
Refactored redirect middleware
2015-04-11 17:06:09 -06:00
Matthew Holt
abeb337f45
Refactored rewrite middleware
2015-04-11 16:58:34 -06:00
Matthew Holt
2a0cfb608d
Bug fix for default error handling with gzip
2015-04-08 23:24:59 -06:00
Matthew Holt
d33256f1dc
Refactor: Middleware chain uses Handler instead of HandlerFunc
2015-04-02 23:30:54 -06:00
Matthew Holt
db2cd9e941
Renamed extensionless to extension, Extensionless to Ext
2015-04-02 21:59:45 -06:00
Matthew Holt
9f793dad28
Proxy destination may include scheme
2015-03-31 23:53:39 -06:00
Matthew Holt
f2f5d4984d
Markdown defaults to .md
2015-03-31 23:41:16 -06:00
Matthew Holt
29fec4742e
Detailed godoc; better error handling convention
2015-03-29 22:01:42 -06:00
Matthew Holt
0a9a19305c
Made catch-all redirects possible
2015-03-29 21:48:53 -06:00
Matthew Holt
4e9c432c14
Controller/Dispenser refactoring, typo fixes
2015-03-29 19:56:19 -06:00
Matthew Holt
6bf36d922c
Refactored proxy middleware to return errors
2015-03-28 16:56:56 -06:00
Matthew Holt
076d4e0ec5
Refactored web socket middleware to return errors
2015-03-28 16:56:33 -06:00
Matthew Holt
b87e6ccb76
Refactored markdown middleware to return errors
2015-03-28 16:55:40 -06:00
Matthew Holt
22707edcbf
Refactored fastcgi middleware to return errors
2015-03-28 16:52:43 -06:00
Matthew Holt
7578298b3f
Rewrote access log middleware
2015-03-28 16:50:42 -06:00
Matthew Holt
d2892fc799
New error handler middleware
2015-03-28 16:50:06 -06:00
Matthew Holt
878ae7ea89
Refactored rewrite middleware to return errors
2015-03-28 16:49:18 -06:00
Matthew Holt
c657948824
Refactored redir middleware to return errors
2015-03-28 16:49:06 -06:00
Matthew Holt
a39e71ca26
Refactored headers middleware to return errors
2015-03-28 16:48:43 -06:00
Matthew Holt
8f4e7f7fdc
Refactored gzip middleware to return errors
2015-03-28 16:47:41 -06:00
Matthew Holt
a674450198
Refactored ext middleware to return errors
2015-03-28 16:47:28 -06:00
Matthew Holt
843f6e83a9
Refactored browse middleware to return errors
2015-03-28 16:46:54 -06:00
Matthew Holt
9378f38371
Major refactoring for better error handling
2015-03-28 16:37:37 -06:00
Matthew Holt
09aad777f4
Proper host/port splitting; also log file perms
2015-03-26 23:39:36 -06:00
Matthew Holt
da72a5fbcd
Controller can register functions to run at shutdown
2015-03-26 23:22:48 -06:00
Matthew Holt
2fbfafc408
New startup and shutdown directives
2015-03-26 09:52:03 -06:00
Matthew Holt
63b39c78ee
Better default template; other fixes
2015-03-24 23:05:42 -06:00
Matthew Holt
13d9bcc0c7
Clean URL middleware handles URLs ending with /
2015-03-24 21:56:22 -06:00
Matthew Holt
9672850d11
Bug fixes and improvements for browse middleware
2015-03-24 21:54:33 -06:00
Matthew Holt
00e43197fd
Started browse middleware to list directory contents
2015-03-24 20:12:48 -06:00
Matthew Holt
284ab11c7f
Little bit of cleanup
2015-03-21 15:18:50 -06:00
Matthew Holt
5d4726446d
Finished dispenser tests
2015-03-21 14:36:32 -06:00
Matthew Holt
010ac23e8a
More tests!
2015-03-21 11:18:37 -06:00
Matthew Holt
6d869ef55b
Support multiple occurrences of markdown directive
2015-03-21 10:59:29 -06:00
Matthew Holt
35225fe2d3
Docs and comments, la la
2015-03-20 18:11:54 -06:00
Matthew Holt
1b7415a81b
Markdown handles titles a little better
2015-03-20 00:01:39 -06:00
Matthew Holt
abdadf1ee1
Improvements to websocket middleware
2015-03-19 23:52:56 -06:00
Matthew Holt
d7ae9fb4a2
Added markdown middleware
2015-03-16 11:45:51 -06:00
Matthew Holt
af56c5033c
New method to get remaining arguments on a line
2015-03-16 11:23:17 -06:00
Matthew Holt
3858e31942
A couple pesky env variables to deal with in websockets
2015-03-03 18:39:38 -07:00
Matthew Holt
37f0a37ed2
Filled out more web socket stuff
2015-03-03 17:36:18 -07:00
Matthew Holt
811c6a986f
Added WebSocket middleware
2015-03-03 09:49:45 -07:00
Matthew Holt
974acbf38c
Partial support for location contexts in config files
2015-03-03 09:49:01 -07:00
Matthew Holt
0e43271cc9
Basic proxy feature works
2015-02-02 23:41:35 -07:00
Matthew Holt
5ae1790e52
Moved controller into its own file; other minor cleanups
2015-01-31 10:15:17 -07:00
Matthew Holt
16997d85eb
Made 'extensionless' middleware more modular/useful
2015-01-30 11:09:36 -07:00
Matthew Holt
ae2a2d5b00
Godoc for middleware packages and server package
2015-01-29 23:52:18 -07:00
Matthew Holt
bcdf04d00e
Inlined a fixed version of the fastcgi_client dependency
2015-01-29 23:48:35 -07:00
Matthew Holt
8471c2d9d8
Updated docs; renamed a couple utility files
2015-01-29 22:52:21 -07:00
Matthew Holt
dcc67863dc
Experimenting to make middleware more independent
2015-01-29 22:46:09 -07:00
Matthew Holt
ac7f50b4cd
Updated doc comment
2015-01-29 22:14:31 -07:00
Matthew Holt
612d77eaab
Moved Path type around
2015-01-29 22:08:40 -07:00
Matthew Holt
04996b2850
Exported NewReplacer and NewRecorder
2015-01-29 22:06:53 -07:00
Matthew Holt
261beb046e
Moved rewrite middleware into its own package
2015-01-29 22:06:19 -07:00
Matthew Holt
b8c43e55db
Moved redirect middleware into its own package
2015-01-29 22:05:54 -07:00
Matthew Holt
13cf980879
Moved proxy middleware into its own package
2015-01-29 22:05:36 -07:00
Matthew Holt
e6063fb26b
Moved logging middleware into its own package
2015-01-29 22:05:21 -07:00
Matthew Holt
1e4baa53f0
Moved headers middleware into its own package
...
Further trying out spreading out the code outside of the nested functions
2015-01-29 22:05:05 -07:00
Matthew Holt
80ef5d761c
Moved gzip middleware into its own package
...
Trying a different format where the middleware is a type that satisfies http.Handler
2015-01-29 22:04:18 -07:00
Matthew Holt
affd470820
Moved fastcgi middleware into its own package
2015-01-29 22:03:14 -07:00
Matthew Holt
89783ac0c2
Moved extensionless middleware into its own package
2015-01-29 22:02:58 -07:00
Matthew Holt
fe62afd3d9
Beginning to move middleware into their own packages
2015-01-29 22:02:17 -07:00
Matthew Holt
dca59d0eda
Stubbed out really basic proxy middleware
2015-01-29 17:18:14 -07:00
Matthew Holt
a38a2a0e4f
Created basic fastcgi middleware layer
2015-01-21 17:51:47 -07:00
Matthew Holt
decfda2705
Made parsing easier in middleware
2015-01-21 12:09:49 -07:00
Matthew Holt
822c231f1c
Renamed {time} placeholder to {when}
2015-01-19 17:12:38 -07:00
Matthew Holt
24fc2ae59e
Major refactoring; more modular middleware
2015-01-18 23:11:21 -07:00
Matthew Holt
4497a16fb0
Early prototype; initial commit
2015-01-13 12:43:45 -07:00