jesopo
8ba7cb0396
Move logging API key from INFO to DEBUG (rest_api.py)
2019-01-23 22:23:21 +00:00
jesopo
086629f2dc
Logging shouldn't use %
string formatting (rest_api.py)
2019-01-23 22:10:32 +00:00
jesopo
6fef7fd0c6
INFO log when we get a HTTP request with an API key (including the key's
...
comment) (rest_api.py)
2019-01-23 22:08:26 +00:00
jesopo
9bef4b7df1
Switch to using a case insensitive dictionary for headers instead of doing
...
.title() on each header key
2018-12-08 09:00:12 +00:00
jesopo
281923a463
Check whether we actually have a httpd running when unloading rest_api.py
2018-12-08 08:56:47 +00:00
jesopo
9918a72f80
.items() on self.headers, to correctly use it for a dict comprehension
...
(rest_api.py)
2018-12-06 12:03:58 +00:00
jesopo
e6b0d4d167
.title() all header keys (rest_api.py)
2018-12-06 12:00:45 +00:00
jesopo
35108efc5f
rest_api.py's '_safe_handle' function isn't used and doesn't need to be used now
...
that API calls are thrown straight on to the main thread
2018-11-30 21:39:28 +00:00
jesopo
d13a5069e3
Grab response from functions asked to be executed on the main thread and feed
...
them back to the callers, allowing rest_api.py to take the main thread while
it's waiting for the response to give back to the requesting client
2018-11-27 14:25:12 +00:00
jesopo
06078ba959
Prefix modules/rest_api.py logging with "[HTTP] "
2018-11-14 23:02:32 +00:00
jesopo
1275352576
Log HTTP events through regular logging
2018-11-14 23:01:22 +00:00
jesopo
911ace524d
Typo in modules/rest_api.py, 'args_spit' -> 'args_split'
2018-11-12 22:20:46 +00:00
jesopo
161272daf5
Better denote variable-length "endpoint" arg in !apikey's usage
2018-11-12 20:44:46 +00:00
jesopo
6e4e358ed1
Typo in modules/rest_api.py, 'seting' -> 'setting'
2018-11-12 18:18:07 +00:00
jesopo
78b3ca3cdc
Typo on modules/rest_api.py, '= =' -> '='
2018-11-12 18:16:55 +00:00
jesopo
eb215d61a1
'api-minify' -> 'rest-api-minify' and make it settable from !botset
2018-11-12 18:15:08 +00:00
jesopo
a0e86f79c3
Change API key checking on-request to match what the values should be in the
...
database (dict of '{"name": , "permissions": }')
2018-11-12 18:06:02 +00:00
jesopo
a943e69cee
Change API keys to be hex representations of UUID4s, change their value in the
...
database to be a dictionary ({"comment": , "permissions": }) and change the
!apikey command to take a `comment` arg (to note what specific keys are intended
for) and vararg `permissions` (a list of endpoints the API key is allowed to
hit)
2018-11-12 17:59:40 +00:00
jesopo
57aa62cc9c
API keys should have a value of []
when they're created, not True
2018-11-11 09:03:19 +00:00
jesopo
b8e6bfd5e5
Add a way of appending a comment on an API key, to denote what it's for.
2018-11-11 09:02:48 +00:00
jesopo
b06eff217f
typo in modules/rest_api.py; 'resonse' -> 'response'
2018-11-11 08:55:49 +00:00
jesopo
9c7afe7d2b
Add missing "," in modules/rest_api.py
2018-11-11 08:54:46 +00:00
jesopo
36ab270971
typo in modules/rest_api.py, 'permimssions' -> 'permissions'
2018-11-11 08:53:37 +00:00
jesopo
8024bc9c80
Add a way to minify REST API responses in modules/rest_api.py
2018-11-11 08:51:50 +00:00
jesopo
07c813cc1f
Add basic access controls to modules/rest_api.py
2018-11-10 21:54:08 +00:00
jesopo
08355c026e
Log errors caught when trying to execute API endpoints
2018-11-06 17:22:50 +00:00
jesopo
f06c824ae9
Only count a None
response from an API event hook to be a 404
2018-11-06 14:09:13 +00:00
jesopo
bbec7f311d
Pass headers through REST API callbacks
2018-11-06 13:02:04 +00:00
jesopo
819f4e0680
Pass context-wrapped timers to each module, add ModuleManager.BaseModule.on_load
2018-10-12 18:07:23 +01:00
jesopo
908edeb1e1
Typo in modules/github.py ('command' -> 'commit') and declare event_response
...
outside of try/except in modules/rest_api.py
2018-10-06 09:24:43 +01:00
jesopo
c3ace4be2e
Return 500 when an exception is thrown, never try to .encode None
2018-10-06 09:23:50 +01:00
jesopo
ff00ec1226
Require modules/rest_api.py has tls cert/key
2018-10-05 23:16:34 +01:00
jesopo
b3f8933f3f
POST shouldn't use body as 'params'
2018-10-05 23:14:32 +01:00
jesopo
95e7b9ea77
Support POST through modules/rest_api.py
2018-10-05 22:49:06 +01:00
jesopo
187220c25e
Remove prints
2018-10-05 09:45:49 +01:00
jesopo
e5f475cdeb
Allow API endpoints to not request authentication
2018-10-04 17:59:24 +01:00
jesopo
d7f4050ae8
Strip empty /path/arguments in modulse/rest_api.py
2018-10-04 17:37:03 +01:00
jesopo
f8170d8751
Use URL path for args, not get params
2018-10-04 17:21:40 +01:00
jesopo
7fc0359e3d
Make sure bot.lock is released in do_GET
2018-10-04 17:18:24 +01:00
jesopo
a220ff8485
Timeout REST API requests after 10 seconds
2018-10-04 17:10:05 +01:00
jesopo
57b72a94c5
Implement !botset/!botget in modules/set.py
2018-10-04 17:09:52 +01:00
jesopo
a533228112
Implement api keys in modules/rest_api.py
2018-10-04 17:09:35 +01:00
jesopo
82b40cc8b2
Add basics of (by-default disabled) REST API
2018-10-04 16:01:13 +01:00