diff options
Diffstat (limited to 'src/pybind/mgr/restful/api/request.py')
-rw-r--r-- | src/pybind/mgr/restful/api/request.py | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/src/pybind/mgr/restful/api/request.py b/src/pybind/mgr/restful/api/request.py deleted file mode 100644 index 67143ef508d..00000000000 --- a/src/pybind/mgr/restful/api/request.py +++ /dev/null @@ -1,93 +0,0 @@ -from pecan import expose, request, response -from pecan.rest import RestController - -from restful import context -from restful.decorators import auth, lock, paginate - - -class RequestId(RestController): - def __init__(self, request_id): - self.request_id = request_id - - - @expose(template='json') - @auth - def get(self, **kwargs): - """ - Show the information for the request id - """ - request = [x for x in context.instance.requests - if x.id == self.request_id] - if len(request) != 1: - response.status = 500 - return {'message': 'Unknown request id "{}"'.format(self.request_id)} - return request[0] - - - @expose(template='json') - @auth - @lock - def delete(self, **kwargs): - """ - Remove the request id from the database - """ - for index in range(len(context.instance.requests)): - if context.instance.requests[index].id == self.request_id: - return context.instance.requests.pop(index) - - # Failed to find the job to cancel - response.status = 500 - return {'message': 'No such request id'} - - - -class Request(RestController): - @expose(template='json') - @paginate - @auth - def get(self, **kwargs): - """ - List all the available requests - """ - return context.instance.requests - - - @expose(template='json') - @auth - @lock - def delete(self, **kwargs): - """ - Remove all the finished requests - """ - num_requests = len(context.instance.requests) - - context.instance.requests = [x for x in context.instance.requests - if not x.is_finished()] - remaining = len(context.instance.requests) - # Return the job statistics - return { - 'cleaned': num_requests - remaining, - 'remaining': remaining, - } - - - @expose(template='json') - @auth - def post(self, **kwargs): - """ - Pass through method to create any request - """ - if isinstance(request.json, list): - if all(isinstance(element, list) for element in request.json): - return context.instance.submit_request(request.json, **kwargs) - - # The request.json has wrong format - response.status = 500 - return {'message': 'The request format should be [[{c1},{c2}]]'} - - return context.instance.submit_request([[request.json]], **kwargs) - - - @expose() - def _lookup(self, request_id, *remainder): - return RequestId(request_id), remainder |