cloudsync.oauth.apiserver.ApiServer¶
-
class
cloudsync.oauth.apiserver.
ApiServer
(addr: str, port: int, headers=None, log_level=<ApiServerLogLevel.ARGS: 2>, allow_reuse=False)¶ from apiserver import ApiServer, ApiError, api_route
Create your handlers by inheriting from ApiServer and tagging them with @api_route(“/path”).
Alternately you can use the ApiServer() directly, and call add_handler(“path”, function)
Raise errors by raising ApiError(code, message, description=None)
Return responses by simply returning a dict() or str() object
Parameter to handlers is a dict()
Query arguments are shoved into the dict via urllib.parse_qs
-
add_route
(path, meth, content_type='application/json')¶ Add a new route handler.
-
address
()¶ Get my ip address
-
port
()¶ Get my port
-
serve_forever
()¶ Start listening and responding.
-
server_close
()¶ Closes the server and joins all threads
-
shutdown
()¶ Stops the current server, if started
-
uri
(path='/', hostname=None)¶ Make a URI pointing at myself
-
-
class
cloudsync.oauth.apiserver.
ApiError
(code, msg=None, desc=None, json=None)¶ User can raise an ApiError in order to abort processing and return something other than ‘200’ to the web client.
- Args:
code: status code msg: message to show desc: description of the error json: json to return, instead of any error descriptions
-
classmethod
from_json
(error_json)¶
-
cloudsync.oauth.apiserver.
api_route
(path)¶ Decorator for handling specific urls.
- Args:
path: the route to handle
If this ends in a ‘/’, it will handle all routes starting with that path.