Matt Holt
1cb0053720
Merge pull request #102 from brk0v/proxy-without
...
proxy: Add "without" option
2015-06-04 08:24:48 -06:00
Viacheslav Biriukov
822a615c6c
rollback tests
2015-06-04 14:02:52 +00:00
Viacheslav Biriukov
593557659c
fix tests and change naming
2015-06-04 13:57:39 +00:00
xenolf
b4780a41d3
Added webhook functionality to the git middleware.
...
The webhook providers reside behind a small interface which determines if
a provider should run. If a provider should run it delegates
responsibility of the request to the provider.
ghdeploy initial commit
Added webhook functionality to the git middleware.
The webhook providers reside behind a small interface which determines if a provider should run. If a provider should run it delegates responsibility of the request to the provider.
Add tests
Remove old implementation
Fix inconsistency with git interval pulling.
Remove '\n' from logging statements and put the initial pull into a startup function
2015-06-04 03:24:16 +02:00
Viacheslav Biriukov
4790dacbf7
add without to proxy middleware
2015-06-03 18:06:24 +00:00
Matthew Holt
9ce0e8e17c
proxy: Added tests for reverse websocket proxy
2015-06-01 22:39:53 -06:00
Matthew Holt
32825e8a79
basicauth: Patch timing vulnerability
2015-06-01 20:33:07 -06:00
Austin
68cd4bdeab
check server response instead of client
2015-06-01 19:29:32 -07:00
Austin
ccd3e55b32
changes as noted in PR
2015-06-01 10:23:57 -07:00
Austin
56ec7b9887
websocket directive, upgrade comparison
2015-05-30 11:34:54 -07:00
Austin
2d6ff40649
add supported for ws in reverse proxy
2015-05-29 19:21:50 -07:00
Austin
dd946f8ab5
moved init to policy.go
2015-05-28 18:16:23 -07:00
Austin
593aec9ab1
changes per comment
2015-05-28 16:53:54 -07:00
Austin
6b173b5170
added custom policy support
2015-05-28 15:56:11 -07:00
Abiola Ibrahim
2013838bfd
Git: mock time functions in tests.
2015-05-28 10:20:26 +01:00
Abiola Ibrahim
879558b9ee
Git: code refactor. replace Sleep with Ticker
2015-05-26 20:20:57 +01:00
Abiola Ibrahim
6c6e0e3f73
Git: More tests. Code refactor.
2015-05-26 04:44:47 +01:00
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