# Copyright (C) 2017 Lars Wirzenius # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . import apifw def response(status_code, body, headers): # pragma: no cover obj = { 'status': status_code, 'body': body, 'headers': headers, } return apifw.Response(obj) def OK(body, headers=None): # pragma: no cover if headers is None: headers = {} elif 'Content-Type' not in headers: headers['Content-Type'] = 'application/json' return response(apifw.HTTP_OK, body, headers) def text_plain(body): # pragma: no cover headers = { 'Content-Type': 'text/plain', } return response(apifw.HTTP_OK, body, headers) def not_found(error): # pragma: no cover headers = { 'Content-Type': 'text/plain', } return response(apifw.HTTP_NOT_FOUND, str(error), headers) def bad_request(error): # pragma: no cover headers = { 'Content-Type': 'text/plain', } return response(apifw.HTTP_BAD_REQUEST, str(error), headers) def created(body): # pragma: no cover headers = { 'Content-Type': 'application/json', } return response(apifw.HTTP_CREATED, body, headers) def conflict(body): # pragma: no cover headers = { 'Content-Type': 'text/plain', } return response(apifw.HTTP_CONFLICT, body, headers)