Commit graph

46 commits

Author SHA1 Message Date
Jimmy Zelinskie 07e4db8baf golangci-lint: include golint docstring exceptions 2022-01-18 13:33:46 -05:00
Jimmy Zelinskie 4b5e39f83c bittorrent: rename qp.Uint64 to qp.Uint 2022-01-17 15:54:56 -05:00
Jimmy Zelinskie f3468edf19 frontend/http: avoid overflows parsing queryparams 2022-01-15 14:25:39 -05:00
Jimmy Zelinskie d1b90c0139 lint: gofumpt files 2022-01-15 14:01:23 -05:00
Jimmy Zelinskie 65ce7c7c6b lint: lint files with golangci-lint 2022-01-15 13:31:14 -05:00
elotreum d70d300422 add godoc explaining catch-all parameter matching for ByName 2020-01-20 11:31:45 -07:00
elotreum e0b50f3ffa add helper method to retrieve RouteParam by name 2020-01-19 20:35:21 -07:00
elotreum 9e7323fa44 correct godoc comments to include period 2020-01-16 19:43:50 -07:00
elotreum 77a52f9f30 http: allow for customized routes
Update to allow arrays of routes to be passed to the http frontend.
This also supports named parameters as permitted by the
router.

To avoid external dependencies in the middleware, a RouteParam and
RouteParams type was added to the bittorrent package.

Note: this eliminates the need for "enable_legacy_php_urls", as
the the additional route could be added to the route array. However,
this may be considered a breaking change.
2020-01-14 16:35:28 -07:00
Jimmy Zelinskie 734c11c6ed bittorrent: anonymous fields for IPs in test table 2018-06-15 13:33:26 -04:00
mrd0ll4r 9e251b23b6
Merge pull request #394 from mrd0ll4r/bittorrent-strings
bittorrent: implement nicer String methods for various types
2018-04-11 09:09:54 +02:00
Leo Balduf 6c5e8ad20c bittorrent: implement nicer String methods for various types 2018-02-17 13:11:27 +01:00
Leo Balduf b19f7115df bittorrent: validate port != 0 for announces 2018-02-13 10:13:57 +01:00
Jimmy Zelinskie 811fe001ac bittorrent: pretty print nil for subtest naming 2018-02-02 17:13:13 -05:00
Jimmy Zelinskie 2004489016 *: add subtests for all table driven tests
Because we use testify, this is less useful than normal, but this is
still best practice for table-driven tests.
2017-12-29 17:44:45 -05:00
Jimmy Zelinskie ca823e0e5f frontend: update to use non-object sanization 2017-10-17 22:02:45 -04:00
Jimmy Zelinskie 66e12c6684 bittorrent: add String() and LogFields() 2017-10-17 22:02:06 -04:00
Jimmy Zelinskie b7e6719129 bittorrent: add initial request sanitizer 2017-10-08 18:02:33 -04:00
Leo Balduf 8ed171b0ea pkg/log: create wrapper around logrus 2017-06-26 20:46:40 +02:00
Leo Balduf 6e1cfa18d8 bittorrent: make invalid query escape errors static 2017-06-18 22:43:24 +02:00
Leo Balduf 2764717657 bittorrent: fix out-of-range panics for URL parsing 2017-06-18 22:43:21 +02:00
Jimmy Zelinskie cb55019ab8 *: add structured logging 2017-05-07 04:30:22 -04:00
Jimmy Zelinskie 517fb4044e tests: replace last usage of assert with require
Fixes #239.
2017-02-15 00:58:52 -05:00
Leo Balduf 98299c5912 bittorrent: make ParseURLData return ClientErrors 2017-02-05 13:22:14 +01:00
Leo Balduf 102b032c43 udp: fix ordering of scrapes 2017-01-30 13:07:14 +01:00
Leo Balduf 3ae3843944 bittorrent: add AddressField to ScrapeRequest 2017-01-20 20:34:39 +01:00
Leo Balduf 3c098c0703 middleware: add sanitization hook 2017-01-20 20:29:59 +01:00
Jimmy Zelinskie 77e5ab9c5b bittorrent: invalid infohash -> ClientError
Fixes #250
2016-10-28 18:37:28 -04:00
Leo Balduf 3ec6f10e93 hooks: add response hook
Fixes #216
2016-09-08 16:02:01 -04:00
Jimmy Zelinskie 79d5838077 *: fix mispellings 2016-09-06 00:44:13 -04:00
mrd0ll4r f6e362e506 Merge pull request #209 from jzelinskie/logrus
misc fixes for #207
2016-09-05 13:40:52 -04:00
Jimmy Zelinskie 6cd505269e bt: remove unused Tracker interface 2016-09-05 12:22:49 -04:00
Leo Balduf 6260570635 http: extract query parser to bittorrent package 2016-09-03 14:06:03 -04:00
Jimmy Zelinskie 66f76a7d48 make clientID tests pass 2016-08-16 23:41:59 -04:00
Jimmy Zelinskie 674ab8a4c6 NewClientID now takes PeerID instead of string 2016-08-16 23:29:06 -04:00
Jimmy Zelinskie 778773cb81 rm copyright 2016-08-16 22:17:10 -04:00
Leo Balduf 8f67c1018e restructure into backend and frontends 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie 11d135ce49 get prom working 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie 5c99738b7f make it compile! 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie 9366e601cd http: fail when numwant missing 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie 1a0dd89968 add metrics to http & udp trackers 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie 437c3be9ec move bencode package under http package 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie 2b5140bd55 add doc comments 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie 0ebadd31d0 add a type for ClientIDs 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie 0d054414ab s/Server/Tracker 2016-08-16 22:17:10 -04:00
Jimmy Zelinskie a2d3080a60 initial foundation
Definitely doesn't work, certainly has the right ideas.
2016-08-16 22:17:10 -04:00