Jimmy Zelinskie
4b5e39f83c
bittorrent: rename qp.Uint64 to qp.Uint
2022-01-17 15:54:56 -05:00
Jimmy Zelinskie
301dd22f15
lint: actually lint all go files
2022-01-15 23:28:52 -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
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
elotreum
5082146ae9
http: explicitly set Content-Type header
...
Since Content-Type is not explicitly set, golang sniffs the responses
and attempts a guess. With announce responses, this usually means it
guesses application/octet-stream.
According to the godoc at
https://golang.org/pkg/net/http/#ResponseWriter
// If WriteHeader has not yet been called, Write calls
// WriteHeader(http.StatusOK) before writing the data. If the Header
// does not contain a Content-Type line, Write adds a Content-Type set
// to the result of passing the initial 512 bytes of written data to
// DetectContentType. Additionally, if the total size of all written
// data is under a few KB and there are no Flush calls, the
// Content-Length header is added automatically.
2020-01-14 13:31:25 -07:00
Leo Balduf
87c72bc516
config: update example config
2019-10-17 12:38:08 +09:00
Leo Balduf
cb88a11d6a
frontend: add defaults for parser options
2019-10-12 12:52:16 +09:00
Cenk Alti
d0fc3a4634
split listen&serve for http
2018-12-30 13:36:32 +03:00
Yashpal Choudhary
e749c9c6c9
frontend/http: canonicalize http real_ip_header
...
Fixes #428
2018-10-20 03:07:22 +05:30
Justin Li
1cb16ddb0c
Add https_addr config, required to run HTTPS
2018-09-11 17:17:09 -04:00
Justin Li
1a4e4c833b
Merge pull request #413 from chihaya/recursive-stop-groups
...
Return []error from Stop() channel, allow recursive stop groups
2018-09-11 17:14:41 -04:00
Justin Li
d95120c817
Return []error from Stop() channel, allow recursive stop groups
2018-09-09 11:30:15 -04:00
Justin Li
20edf7a136
Add config to enable keepalive/persistent connections
2018-09-09 09:01:53 -04:00
Leo Balduf
8095657735
http: fix TLS
2018-09-04 12:45:06 +02:00
Jimmy Zelinskie
f0780ad9cc
frontend: isolate prometheus logic to one file
2018-06-15 13:33:26 -04: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
Leo Balduf
2f58e98832
http: add option for legacy PHP URLs
2017-12-05 10:41:43 +01:00
Jimmy Zelinskie
df0de94337
frontend/http: bandwidth are in bytes not pieces
2017-10-18 11:51:19 -04:00
Jimmy Zelinskie
1a0b5c56a6
frontend/http: disambiguate NumWantProvided
2017-10-17 22:06:03 -04:00
Jimmy Zelinskie
ca823e0e5f
frontend: update to use non-object sanization
2017-10-17 22:02:45 -04:00
Jimmy Zelinskie
6dee48ce17
frontend/http: add request sanitization
2017-10-08 18:02:33 -04:00
Leo Balduf
7d9166e003
http: add default ReadTimeout, WriteTimeout
2017-09-30 14:26:02 +02:00
Leo Balduf
8ed171b0ea
pkg/log: create wrapper around logrus
2017-06-26 20:46:40 +02:00
Cedric Charly
f7becf952b
frontend: TrackerLogic interface returns modified context
...
HandleAnnounce and HandleScrape must return the modified context changed
by the hooks. These contexts are passed to AfterAnnounce and AfterScrape
for further use.
Closes #304
2017-06-07 19:25:12 -05:00
Leo Balduf
f61e7a9281
frontend: make request timing optional
2017-05-12 20:27:31 +02:00
Jimmy Zelinskie
cb55019ab8
*: add structured logging
2017-05-07 04:30:22 -04:00
Jimmy Zelinskie
ea0dba3a3d
cmd/chihaya: refactor root run command
...
This change refactors a bunch of the state of execution into its own
object. It also attempts to simplify stopping and adjusts some other
packages to integrate with the stopper interface.
Fixes #309 .
2017-05-01 15:56:38 -04:00
tom
cdb0ff3612
http: make numWant optional
...
The default numwant value should be used if either numwant is zero or omitted from the announce request.
2017-04-21 13:17:58 +01:00
Leo Balduf
2e625af44d
http: fix HTTP shutdown panicking
2017-04-04 22:34:53 +02:00
Leo Balduf
300b9c12ab
http: use go1.8 graceful shutdown
2017-02-18 13:08:12 +01:00
Jimmy Zelinskie
bb93e478b8
Merge pull request #295 from jzelinskie/prom-errs
...
frontend/*: only record ClientErrors to Prometheus
2017-02-17 11:54:41 -05:00
Jimmy Zelinskie
215f33d862
frontend/*: only record ClientErrors to Prometheus
...
All ClientErrors are constant and should not cause Prometheus streams to
be generated for all possible failure scenarios in the program.
Fixes #294 .
2017-02-16 01:01:38 -05:00
Jimmy Zelinskie
517fb4044e
tests: replace last usage of assert with require
...
Fixes #239 .
2017-02-15 00:58:52 -05:00
Leo Balduf
fdf4ed8169
frontend: fix recording of address family
2017-02-05 17:24:53 +01:00
Jimmy Zelinskie
0e07b33827
prometheus: record IP AddressFamily
2017-02-02 19:19:33 -05:00
Jimmy Zelinskie
6884a8f527
frontend/http: add TLS support
...
Fixes #283 .
2017-02-02 02:01:51 -05:00
Leo Balduf
102b032c43
udp: fix ordering of scrapes
2017-01-30 13:07:14 +01:00
Jimmy Zelinskie
8b1ab73894
Merge pull request #275 from jzelinskie/rmaction
...
frontend/udp: rm copypasta metric recording
2017-01-23 14:30:42 -05:00
Jimmy Zelinskie
acc051bcc4
frontend: rm copypasta metric recording
...
Fixes #271 .
2017-01-23 14:06:32 -05:00
Leo Balduf
0702755d0b
http: fix prometheus timings
...
Fixes #272 .
2017-01-23 16:24:29 +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
Leo Balduf
e4e6ef4bfd
http: fix godoc
2016-11-27 10:56:51 +01:00
Leo Balduf
365a6caf43
http/bencode: add missing []Dict case
...
Fixes #238
2016-10-01 08:10:34 -04:00
Leo Balduf
d463b235b6
http: log internal server errors
2016-09-29 18:48:35 -04:00
Leo Balduf
203248425a
http: fix IPv4 addresses not 4 bytes long
...
Fixes #230
2016-09-29 18:46:01 -04:00
Jimmy Zelinskie
fcfe5a2c2d
frontend: add yaml tags to UDP and HTTP configs
...
This change also adds the missing fields to the example config.
Fixes #228 .
2016-09-29 13:25:17 -04:00
Leo Balduf
b51bdd69ec
bencode: fix unsupported type error message
2016-09-27 17:56:09 -04:00