aboutsummaryrefslogtreecommitdiff
path: root/src/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* should be using pair_start/pair_end throughout `for`Gravatar jesopo2019-09-191-2/+2
|
* also show "bad" data in HTTPParsingException when a message is providedGravatar jesopo2019-09-181-1/+1
|
* show "bad" data in HTTPParsingException messageGravatar jesopo2019-09-181-2/+3
|
* move q.close() to where it will be called even if deadline is hitGravatar jesopo2019-09-181-1/+2
|
* move _raise_deadline() out of except block to clean up printed stacktraceGravatar jesopo2019-09-181-0/+4
|
* don't check already-read data when checking for too-large requestsGravatar jesopo2019-09-171-1/+1
| | | | | | | this check was here because the first read will return empty if it was an invalid byte sequence for e.g. gzip because we needed to receive more data. the second read will always return data (not decoded) so regardless of what the already-read data is, the second read is the only criteria we need.
* log which URL caused an error in request_manyGravatar jesopo2019-09-171-1/+6
|
* only decode content-types in DECODE_CONTENT_TYPESGravatar jesopo2019-09-171-1/+1
|
* Response.__init__() needs `encoding` nowGravatar jesopo2019-09-171-1/+1
|
* restore 5 second (instead of default 10) deadline for http.requestGravatar jesopo2019-09-171-1/+1
|
* use utils.deadline_process() in utils.http._request() so background threads canGravatar jesopo2019-09-171-30/+37
| | | | call _request()
* add .get() to CaseInsensitiveDictGravatar jesopo2019-09-171-0/+2
|
* use Queue.get() with timeout, not Process.join() for timeoutGravatar jesopo2019-09-171-7/+7
| | | | | this was because the threads spawned by multiprocessing.Queue seemed to be making Process.join() believe the subprocess had not exited.
* first draft of multiprocess.Process deadline systemGravatar jesopo2019-09-171-0/+23
|
* 'seperate_hostmask()' -> 'parse_hostmask()'Gravatar jesopo2019-09-161-2/+2
|
* add `json_body` arg to Request to json-encode body, only return from `body` ifGravatar jesopo2019-09-161-4/+8
| | | | not null
* support '0' as an IntSetting valueGravatar jesopo2019-09-151-3/+6
|
* add utils.SensitiveSetting, to .format() hide valueGravatar jesopo2019-09-121-0/+4
|
* add utils.Setting.format() so subtypes can format differentlyGravatar jesopo2019-09-121-0/+3
|
* translate INVITE from [channel_name, target] to [target, channel_name]Gravatar jesopo2019-09-121-1/+1
|
* Revert "INVITE should be [channel_name, target]"Gravatar jesopo2019-09-121-2/+2
| | | | This reverts commit f3d8ffad2c8dc9444e32f65e3c78373ec6ad0661.
* INVITE should be [channel_name, target]Gravatar jesopo2019-09-121-2/+2
|
* allow Requests to specify a useragentGravatar jesopo2019-09-121-3/+4
|
* add a helper utils.http.Client static objectGravatar jesopo2019-09-111-0/+4
|
* add `proxy` to Request objectsGravatar jesopo2019-09-111-1/+2
|
* refactor utils.http.requests to support a Request objectGravatar jesopo2019-09-111-27/+77
|
* automatically decode certain http content typesGravatar jesopo2019-09-111-1/+6
|
* Don't try to .decode non-html things, default iso-lat-1 for non-html tooGravatar jesopo2019-09-091-5/+5
|
* add flag to disable encoding detectionGravatar jesopo2019-09-091-5/+4
|
* 'str.split' -> 's.split'Gravatar jesopo2019-09-091-1/+1
|
* still default to iso-latin-1 if no on-page or in-header content-type is presentGravatar jesopo2019-09-091-1/+1
|
* only look for <meta>-related tags when there are meta tagsGravatar jesopo2019-09-091-9/+11
|
* add explicit None return for _find_encoding (mypy)Gravatar jesopo2019-09-091-0/+1
|
* change utils.http.request to best-effort detect on-page encodingGravatar jesopo2019-09-091-2/+34
| | | | closes #113
* make utils.from_pretty_time() format much stricterGravatar jesopo2019-09-041-12/+11
|
* correctly qualify DeadlineExceededException namespaceGravatar jesopo2019-09-031-1/+1
|
* use utils.deadline() in utils.http.request, not raw sigalrmGravatar jesopo2019-09-021-18/+15
|
* move deadline alarm time check inside try/finallyGravatar jesopo2019-09-021-5/+5
|
* Pass the content of a webpage to HTTPParsingExceptionGravatar jesopo2019-09-021-2/+2
|
* use \S+ for url regex (for non-ascii chars), use url_sanitize to catch <>Gravatar jesopo2019-09-021-9/+12
|
* add per-user fediverse settingGravatar jesopo2019-09-021-0/+9
|
* switch to using signal.setitimer so we can restore previous timerGravatar jesopo2019-08-301-1/+7
|
* switch utils.deadline to a context managerGravatar jesopo2019-08-301-5/+8
|
* add utils.deadline(func, seconds) to put hard limits on code exec timeGravatar jesopo2019-08-301-1/+15
|
* Add IntRangeSetting, reorder OptionsSetting arg orderGravatar jesopo2019-08-301-1/+18
|
* round microseconds up to a whole number and zero-pad to 3 charsGravatar jesopo2019-08-301-1/+2
|
* Don't use 'Z' for "utc timezone" - actually parse timezone out of datetimesGravatar jesopo2019-08-301-7/+14
|
* Remove extraneous spaceGravatar jesopo2019-08-071-1/+0
|
* Allow bypass of content-type check in utils.http.requestGravatar jesopo2019-08-051-3/+3
|
* not all HTTP responses have content-typeGravatar jesopo2019-08-021-1/+1
|