Matthew
4a3d4f3dd2
[bugfix] Fix method subrouter handler matching ( #300 ) ( #317 )
...
* Test method-based subrouters for multiple matching paths
* Pass TestMethodsSubrouter
* Change http.Method* constants to string literals
- Make compatible with Go v1.5
* Make TestMethodsSubrouter stateless and concurrent
* Remove t.Run and break up tests for concurrency
* Use backticks to remove quote escaping
* Remove global method handlers and HTTP method constants
2017-11-28 11:51:17 -08:00
Roberto Santalla
7f08801859
MatchErr is set to ErrNotFound if NotFoundHandler is used ( #311 )
2017-11-05 09:23:20 -08:00
Paul B. Beskow
10490f55fa
GetQueryTemplates and GetQueryRegexp extraction ( #304 )
...
Developers can now extract the query templates and regexps
from a router as lists of combined query pairs.
2017-10-19 18:19:04 -07:00
Pontus Leitzler
bdd5a5a1b0
Fix WriteHeader in TestA301ResponseWriter. ( #301 )
...
WriteHeader did only set status field for a local copy that was discared
upon return.
2017-10-08 14:49:13 -07:00
Matt Silverlock
bb285ea687
[docs] Fix missing space in docstring ( #289 )
2017-08-30 13:57:41 -07:00
Mayank Patel
a659b61323
Fix #271 : Return 405 instead of 404 when request method doesn't match the route
2017-08-29 22:39:17 -07:00
Chris Hines
ac112f7d75
Prefer scheme on child route when building URLs.
2017-07-04 00:43:45 -07:00
Chris Hines
37b3a6cace
Use scheme from parent router when building URLs.
2017-07-04 00:43:45 -07:00
Chris Hines
18fca31550
Add test and fix for escaped query values.
...
Reproduces and fixes #238 .
2017-06-02 12:31:40 -07:00
Pavel Ivanov
f9aa23a02b
Add tests for support for queries in URL reversing.
2017-06-02 12:31:40 -07:00
Nick Miyake
4d814f7650
Update ancestors parameter for WalkFunc for matcher subrouters
...
Fixes #263
2017-05-22 08:17:48 -07:00
Nick Miyake
a322b2c2ec
Update Walk to match all subrouters
...
Matches all routes instead of just routes with paths.
Fixes #261
2017-05-21 14:35:07 -07:00
Chris Hines
bcd8bc72b0
Support building URLs with non-http schemes. ( #260 )
...
* Move misplaced tests and fix comments.
* Support building URLs with non-http schemes.
- Capture first scheme configured for a route for use when building
URLs.
- Add new Route.URLScheme method similar to URLHost and URLPath.
- Update Route.URLHost and Route.URL to use the captured scheme if
present.
* Remove Route.URLScheme method.
* Remove UTF-8 BOM.
2017-05-20 21:50:13 -07:00
Bulat Gaifullin
b552615e22
Added method Route.GetMethods
2017-05-20 15:55:46 -07:00
Bulat Gaifullin
1856953e53
Added method Route.GetPathRegexp
2017-05-20 15:55:46 -07:00
Carlos Alexandro Becker
4c1c3952b7
fixed typo ( #250 )
2017-04-26 21:12:50 -07:00
Adam Eijdenberg
392c28fe23
[bugfix] fail fast if regex is incorrectly specified using capturing groups. ( #218 )
2017-01-18 05:43:44 -08:00
ShaneSaww
b9ff34f617
Adding some extra tests, to hit all the use cases
2017-01-16 21:11:35 -08:00
ShaneSaww
293ebe1493
Adding in a check for routes with just /
2017-01-15 21:47:00 -08:00
Kush Mansingh
0a192a1931
Add useEncodedPath option to router and routes ( #190 )
...
- Resolves a breaking change in #184
2016-09-02 08:33:43 -07:00
Richard Musiol
0b13a92220
Simplify extractVars, fixes edge cases. ( #185 )
...
Also make sure all regexp groups in tests are non-capturing.
2016-08-27 09:50:34 -07:00
Aaron Taylor
34bf6dc9fa
make the getPath method safer, fixing panics within App Engine ( #189 )
2016-08-24 16:34:02 -07:00
Kush Mansingh
674ef1c280
Add mechanism to route based on the escaped path ( #184 )
...
* Add mechanism to route based on the escaped path, correct request mocking in tests
* Remove unneccessary regex matching, substitute with string slicing
* Add test case and handling for requests with no host/scheme
2016-08-24 06:45:17 -07:00
Kamil Kisiel
327d4b684c
Clean up some naming in mux_test.go
2016-07-30 16:45:59 -07:00
Martin Hamrle
cf57124f1d
Fix error handling in Router.Walk
...
In old version error was not returned properly, In one walkFn call
error was checked only for SkipRouter but not for nil.
2016-07-25 18:05:24 +02:00
Eric J. Holmes
fdfca9f917
Support native context.Context when go1.7 is used.
2016-06-04 15:38:01 +07:00
Matt Silverlock
9c19ed558d
[feature] Add SkipClean option
...
- SkipClean skips cleaning routes (or a route) - e.g. when true, if the route path is "/path//to", it will remain with the double slash. This is helpful if you have a route like: /fetch/http://xkcd.com/534/
2016-05-02 10:56:24 -07:00
Jingwen Owen Ou
9935257381
Add test for SkipClean
2016-05-02 10:24:18 -07:00
JP Robinson
65c2651643
fixing regexp changes from PR #144
2016-03-07 16:38:03 -05:00
Dj Gilcrease
f84ab9ab62
Fix go fmt issues
2016-02-28 14:46:18 -08:00
Dj Gilcrease
0d60c4bfeb
Add tests for GetPathTemplate. Added GetHostTemplate and associated tests as well
2016-02-28 14:42:09 -08:00
Nate Woods
82a9c170d4
Covering change with unit test
...
This test focuses on the feature of allowing sub-routers error handlers to precede the parents, rather than the code change required to provide this functionality.
2015-12-26 00:09:25 -07:00
mitsuteru sawa
a90bbbc6fa
Correct a printf verb type
...
% go vet
mux_test.go:1080: arg len(ancestors) for printf verb %s of wrong type:
int
2015-11-07 21:34:30 +09:00
Kamil Kisiel
5112c33f3a
slightly improve printing of regexps in failed tests.
2015-08-11 22:16:39 -07:00
Shinya Kawaguchi
577b9e4a65
Add tests for hyphenated variable names
2015-08-11 04:05:30 +09:00
Kamil Kisiel
8965bfef36
Merge branch 'subexp-fix'
2015-08-07 13:34:10 -07:00
Kamil Kisiel
c3c5f0000f
Add test which used to fail for queries.
...
Fixes #66
2015-08-06 22:12:38 -07:00
Kamil Kisiel
e73f183699
fix use of capturing subexpressions in pattern matches.
...
The router now associates a regexp named group with each mux variable.
It only fills variables when capturing group name match instead of
relying on indices, which doesn't work if a variable regexp has interior
capturing groups.
Fixes #62
2015-08-06 20:32:43 -07:00
Kamil Kisiel
f15e0c4946
Merge pull request #100 from eastwood/master
...
Issue #16 : Added regex support for matching headers
2015-07-27 09:40:50 -07:00
Kamil Kisiel
61445102e8
Merge pull request #111 from burrbd/master
...
Issue #109
2015-07-17 08:02:10 -07:00
Bay Dodd
3339267a85
adding tests
2015-07-17 10:52:37 +01:00
Bay Dodd
fe40f0d056
updating query match string
2015-07-17 10:19:25 +01:00
Kamil Kisiel
104068abd5
Merge pull request #106 from Digitalxero/router-walk-adjustments
...
Update the walk method …
2015-07-16 10:39:48 -07:00
Bay Dodd
19f0a91c4e
adding test and updating condition
2015-07-16 12:48:02 +01:00
Bay Dodd
2b32409792
fix for empty query
2015-07-16 10:52:01 +01:00
Dj Gilcrease
92ae1d6726
Update the walk method to walk matchers so it walks the full list of routers and child routers
2015-07-09 11:46:53 -07:00
Kamil Kisiel
9cb89f07ca
Add a couple of additional tests for query strings.
2015-07-05 16:02:00 -07:00
Bay Dodd
a710a8bfa9
adding ^ and $ to query pattern
2015-07-05 12:49:02 +01:00
Craig Jellick
c0a5cbce5a
Fix typo
...
Issue #16 : Added regex support for matching headers
Issue #16 : Addressed code review and refactored support for regex into
a separate function
Added compiled regex to route matcher
2015-07-05 20:15:55 +10:00
Philippe Lafoucrière
e98fd88cbd
Add complementary test for patterns with pipe
2015-03-10 21:48:38 -04:00