Commit graph

3619 commits

Author SHA1 Message Date
jesopo
ee6360be22 don't check already-read data when checking for too-large requests
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.
2019-09-17 17:33:23 +01:00
jesopo
1ac7f2697e log which URL caused an error in request_many 2019-09-17 17:09:19 +01:00
jesopo
ebe772a5a9 be explicit when a command has no help available 2019-09-17 16:27:35 +01:00
jesopo
98545a9fb4 only decode content-types in DECODE_CONTENT_TYPES 2019-09-17 16:12:03 +01:00
jesopo
0de4688540 add !myaccount 2019-09-17 15:15:54 +01:00
jesopo
b362e7d760 if a word is known as a nickname but the user has no location, treat as location 2019-09-17 15:06:13 +01:00
jesopo
92840f67ee don't die when channel.topic_setter is null 2019-09-17 14:14:30 +01:00
jesopo
8ca0d30fef Response.__init__() needs encoding now 2019-09-17 14:11:12 +01:00
jesopo
b7dd78ef1a restore 5 second (instead of default 10) deadline for http.request 2019-09-17 13:44:14 +01:00
jesopo
94c3ff962b use utils.deadline_process() in utils.http._request() so background threads can
call _request()
2019-09-17 13:41:11 +01:00
jesopo
fa95eaa9eb add .get() to CaseInsensitiveDict 2019-09-17 13:40:37 +01:00
jesopo
d454f9b732 use Queue.get() with timeout, not Process.join() for timeout
this was because the threads spawned by multiprocessing.Queue seemed to be
making Process.join() believe the subprocess had not exited.
2019-09-17 13:39:23 +01:00
jesopo
f2f09bf0ca 'srt' -> 'str'
closes #152
2019-09-17 12:23:05 +01:00
jesopo
1ed14f9a17 first draft of multiprocess.Process deadline system 2019-09-17 11:56:30 +01:00
jesopo
141b326d5a allow per-server default mumble servers
closes #151
2019-09-17 10:58:02 +01:00
jesopo
e77124604c hide hidden channels from "!channels" when not pm and not current channel
closes #150
2019-09-17 10:54:07 +01:00
jesopo
a04a29aa2c add per-channel default mumble server
closes #151
2019-09-17 10:45:11 +01:00
jesopo
89289065a9 suggest "!config <nickname> <setting> <value>" when settings are missing 2019-09-17 10:31:28 +01:00
jesopo
c8133e7847 treat config target "*" as current channel or current user in PM 2019-09-17 10:25:42 +01:00
jesopo
cf0a81d2e5 permit '!config #channel <setting>' and '!config own_nick <setting>' 2019-09-17 10:21:48 +01:00
jesopo
c23530be89 add missing IRCLine import to IRCChannel 2019-09-17 10:21:31 +01:00
jesopo
334d580c57 'seperate_hostmask()' -> 'parse_hostmask()' 2019-09-16 18:43:57 +01:00
jesopo
4ccfd821c8 update channel.topic_setter-related code 2019-09-16 18:41:47 +01:00
jesopo
03892d0ae3 topic_setter should be stored as a Hostmask 2019-09-16 18:38:46 +01:00
jesopo
7e67b07ada add !channels
closes #147
2019-09-16 16:05:36 +01:00
jesopo
6959bba5f3 move getting private_key/our_actor to __init__ (for main thread) 2019-09-16 15:49:03 +01:00
jesopo
a48aececfd EventRoot._hook's kwarg should be a list of tuples 2019-09-16 15:34:34 +01:00
jesopo
6929ff0664 add strip_otr.py
closes #148
2019-09-16 15:29:09 +01:00
jesopo
fa33a927b1 url_for was moved to _module._url_for 2019-09-16 15:05:14 +01:00
jesopo
ea47c81ece expose url-for logic on Exports too 2019-09-16 14:55:29 +01:00
jesopo
ec4501c018 pass exports to ap_server.py 2019-09-16 14:23:06 +01:00
jesopo
f12551532f 'theading' -> 'threading' 2019-09-16 14:19:52 +01:00
jesopo
69032ea476 push inbox POSTs on to a background thread 2019-09-16 14:18:58 +01:00
jesopo
cc65892586 Revert "push inbox PUSHes on to background thread"
This reverts commit 18613311f9.
2019-09-16 13:58:13 +01:00
jesopo
18613311f9 push inbox PUSHes on to background thread 2019-09-16 13:54:07 +01:00
jesopo
f88b054f38 add !crate in rust.py 2019-09-16 12:11:03 +01:00
jesopo
d6960865d6 eval_rust.py -> rust.py 2019-09-16 12:02:35 +01:00
jesopo
cefbbe7c5f return content warning from ap_utils.format_note and show it
closes #118
2019-09-16 11:10:49 +01:00
jesopo
050bf0a848 use json_body=True for ActivityPub requests 2019-09-16 10:57:46 +01:00
jesopo
47735421b8 add json_body arg to Request to json-encode body, only return from body if
not null
2019-09-16 10:57:18 +01:00
jesopo
9d17710d6d PKCS1v15 is a function 2019-09-16 10:53:10 +01:00
jesopo
55d5692856 refactor AP Note stringifying out to ap_utils.py 2019-09-16 10:51:59 +01:00
jesopo
b8adb6f52d [:1] -> [:-1] 2019-09-15 22:52:20 +01:00
jesopo
52a7bf400f '[1:]' -> '[:1]' 2019-09-15 22:50:55 +01:00
jesopo
4ed8906075 strip ":" from "nick: ++" 2019-09-15 22:49:43 +01:00
jesopo
30ead4dcb6 parse "nick: ++" as "nick++" 2019-09-15 22:47:50 +01:00
jesopo
21fa2120df support "0" kickrejoin delay without creating a timer 2019-09-15 22:22:41 +01:00
jesopo
f9d13dc373 support '0' as an IntSetting value 2019-09-15 22:22:30 +01:00
jesopo
621fb0b396 event["channel"] -> event["target"] 2019-09-15 21:31:31 +01:00
jesopo
32a9a39e88 'hooked_repos_lowers' -> 'hooked_repos_lower' 2019-09-15 19:59:40 +01:00