Matthew Holt
6f05794bb8
git: Fixed unusual but potent race condition
2015-05-25 15:39:04 -06:00
Zac Bergquist
e4b50aa814
Fix more lint warnings
2015-05-24 22:52:34 -04:00
Zac Bergquist
fd8490c689
Fix lint warnings for middleware/websockets
2015-05-24 21:04:03 -04:00
Zac Bergquist
d0a51048d7
Fix lint warnings in middleware/rewrite
2015-05-24 21:00:54 -04:00
Zac Bergquist
506f131428
Fix lint warnings for middleware/proxy
2015-05-24 20:58:17 -04:00
Abiola Ibrahim
4e94b85ec2
FastCGI: support for unix sockets.
2015-05-23 03:39:23 +01:00
Abiola Ibrahim
f44cd5d740
Git: Minor fixes. Refactor. Added tests.
2015-05-22 20:50:04 +01:00
Abiola Ibrahim
c382c885e4
use middleware.Path for base path comparison
2015-05-16 16:57:57 +01:00
Abiola Ibrahim
7ae9e3a262
Rewrite: Added new variables file, dir, fragment.
2015-05-16 16:30:15 +01:00
Abiola Ibrahim
74d162f377
Rewrite: Support for Regular Expressions.
2015-05-16 13:03:48 +01:00
Abiola Ibrahim
ad7b453f03
Rewrite: modified syntax.
2015-05-15 18:47:26 +01:00
Abiola Ibrahim
b2afc30d12
Rewrite: added regexp. awaiting documentation and tests.
2015-05-15 02:43:29 +01:00
Abiola Ibrahim
8394d72f48
Fix for Issue 72: Markdown: 500 for YAML metadata
2015-05-13 00:44:35 +01:00
Abiola Ibrahim
a1312465b5
browse: return forbidden (403) only when it is a permission error.
2015-05-10 17:58:44 +01:00
Matt Holt
e2273ea676
Merge pull request #69 from peterhellberg/headers_test
...
headers: Initial test for Headers and change of Rule.Url to Rule.Path
2015-05-10 07:49:11 -06:00
Matt Holt
c6eaf0db36
Merge pull request #62 from jordic/testing_basicauth
...
basicauth: Should write an unauthorized code to response. (Actually only returns it)
2015-05-10 07:47:16 -06:00
Michael Schoebel
e0173ec4c7
internal middleware: added tests
2015-05-10 14:41:48 +02:00
jordi collell
99fa4581aa
basicauth: patch for overlapping rules
2015-05-10 08:20:58 +02:00
Matthew Holt
4272536518
markdown: sitegen keyword and run generation at startup
...
Also fixed bug for markdown files that don't contain front matter
2015-05-09 21:12:52 -06:00
Peter Hellberg
d9dc9326f2
headers: Initial test for Headers
2015-05-09 21:47:02 +02:00
Peter Hellberg
b5fff09b54
headers: Changed Rule.Url to Rule.Path
...
Updated ServeHTTP comment to indicate that it is
setting headers and not adding them to existing values.
2015-05-09 21:45:28 +02:00
Matt Holt
a96c4d707b
Merge pull request #67 from peterhellberg/redirect_test
...
redirect: initial test for Redirect
2015-05-09 12:21:59 -06:00
Peter Hellberg
0f9df18dfb
Check if the Next handler was called unexpectedly
...
Removed body check and replaced urlPrinter with a inlined Next handler
2015-05-09 20:07:29 +02:00
Matthew Holt
8ea98f8cce
markdown: Fix panic: assignment to entry in nil map
...
Ensures metadata.Variables is made
2015-05-09 11:49:28 -06:00
Matt Holt
f2f7e6825f
Merge pull request #68 from abiosoft/master
...
Markdown: support for templates and metadata
2015-05-09 09:13:40 -06:00
Abiola Ibrahim
2f5e2f39cb
markdown: remove identifier from Json metadata
2015-05-09 11:49:54 +01:00
jordi collell
4c11854927
added header match and a new failing test
2015-05-09 08:11:02 +02:00
Abiola Ibrahim
6ce83aad2b
markdown: Refactor fixes
2015-05-09 00:54:39 +01:00
Abiola Ibrahim
48a12c605a
markdown: Added template support.
2015-05-08 23:45:31 +01:00
Peter Hellberg
95b4e61a07
redirect: initial test for Redirect
2015-05-09 00:36:58 +02:00
stanislavromanov
a5a90fe6fc
close #64
2015-05-08 17:47:37 +02:00
Abiola Ibrahim
0fccd3707d
markdown: documentation done. awaiting test
2015-05-08 16:20:07 +01:00
jordi collell
253c069b26
if basic auth fails should write unauthorized to response
2015-05-08 09:41:17 +02:00
Abiola Ibrahim
2c7de8f328
Merge remote-tracking branch 'upstream/master'
2015-05-08 06:52:14 +01:00
jordi collell
64d203491c
Some failing tests
2015-05-08 07:41:48 +02:00
Matthew Holt
b2ee6638e4
Tests for rewrite middleware
2015-05-07 14:55:34 -06:00
Michael Schoebel
e3d64169ed
Adapted internal middleware
...
- Detect too many internal redirects - return 500 in this case
2015-05-07 20:48:29 +02:00
Michael Schoebel
a5b565e193
Adapted internal middleware
...
- redirect internally regardless of proxy status code
- support multiple internal redirects
2015-05-07 20:20:45 +02:00
Abiola Ibrahim
7443fd0973
Merge remote-tracking branch 'upstream/master'
2015-05-07 14:02:40 +01:00
Abiola Ibrahim
ba613a1567
markdown: template integration done. awaiting documentation and test
2015-05-07 13:45:27 +01:00
Abiola Ibrahim
0bfdb50ade
markdown: working version of template integration. Awaiting static site generation and tests.
2015-05-07 00:19:02 +01:00
Michael Schoebel
0650dd7171
New internal middleware
2015-05-06 22:44:37 +02:00
Matthew Holt
7c844909b9
fastcgi: Add support for OPTIONS requests
2015-05-06 11:14:02 -06:00
Abiola Ibrahim
434ec7b6ea
Merge remote-tracking branch 'upstream/master'
2015-05-06 09:06:14 +01:00
Matthew Holt
340a53fb80
Disabling fcgiclient tests until they can be rewritten
2015-05-05 22:53:14 -06:00
Abiola Ibrahim
25847a6192
markdown: added template codes. awaiting integration and tests
2015-05-06 03:37:29 +01:00
Matthew Holt
47717fee88
Expanded index file support to other middlewares ( fixes #27 )
2015-05-05 15:50:42 -06:00
Matthew Holt
a9064a7871
templates: Changed .RemoteAddr to .IP and stripped port
2015-05-05 15:49:22 -06:00
Matthew Holt
857b4f90d9
errors: Log includes file and line number of panics
2015-05-05 15:48:10 -06:00
Nimi Wariboko Jr
0ed5b364c6
Refactor proxy middleware so that 1.) From() is exposed 2.) Other upstreams can be implemented/plugged in
2015-05-04 19:58:18 -07:00
Matthew Holt
2dbd14b6dc
Consistent app name/version info; pipe config data through stdin
2015-05-04 16:23:16 -06:00
Matthew Holt
085f6e9560
Keepin' the comments true
2015-05-04 13:42:39 -06:00
Matthew Holt
20118bdfd2
Clearing out the old stuff
2015-05-04 13:40:07 -06:00
Matthew Holt
e4fdf171c7
More refactoring - nearly complete
2015-05-04 11:49:49 -06:00
Matthew Holt
6029973bdc
Major refactoring of middleware and parser in progress
2015-05-04 11:04:37 -06:00
Matthew Holt
995edf0566
Bringing in latest from master; refactoring under way
2015-05-04 11:02:46 -06:00
Matt Holt
5f32f9b1c8
Merge pull request #40 from ChannelMeter/proxy-middleware
...
Proxy Middleware: Add support for multiple backends, load balancing & healthchecks
2015-05-03 15:58:50 -06:00
Nimi Wariboko Jr
264e5b7911
Use the provided Replacer tools in order to proxy string interpolation.
2015-05-03 13:33:08 -07:00
Nimi Wariboko Jr
a28d5585f5
Export Replacer type
2015-05-03 12:43:50 -07:00
Nimi Wariboko Jr
082ae70d1d
Allow responseRecorder to be nil
2015-05-03 12:38:06 -07:00
Nimi Wariboko Jr
2aa958e058
Update {remote} replacer to use X-Forwarded-For if its provided
2015-05-03 12:37:00 -07:00
Abiola Ibrahim
225d5977ff
fastcgi: allow more request types.
2015-05-03 12:12:18 +01:00
Nimi Wariboko Jr
4a4b80450a
Upgrade proxy middleware. Add support for: multiple backends, load balancing, health checks, and pluggable backends
2015-05-02 22:45:01 -07:00
Matthew Holt
ca95b561dc
gzip: Fix Content-Length header for proxies requests ( closes #38 )
2015-05-02 09:20:39 -06:00
Abiola Ibrahim
9cd1587cf7
git: post pull command. retries after pull failure.
2015-05-02 04:20:01 +01:00
Abiola Ibrahim
447d0ce0e2
fastcgi: user defined environment variables
2015-05-01 19:55:47 +01:00
Matthew Holt
49bb3f1387
git: Service routine, customizable logger, no more HTTP handler
2015-05-01 12:19:30 -06:00
Abiola Ibrahim
0d2ed0784f
Modified repository path to be relative to root path.
2015-05-01 17:18:58 +01:00
Abiola Ibrahim
479c611420
Implementation of Git middleware
...
Defaults path to site root.
2015-05-01 16:41:34 +01:00
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