Commit graph

45 commits

Author SHA1 Message Date
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