diff options
author | Lars Wirzenius <liw@liw.fi> | 2017-11-18 19:59:56 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2017-11-18 19:59:56 +0100 |
commit | 18753714a35b6c8e5af4b6076973f490a1ba2097 (patch) | |
tree | 15be406183e1b505fb312a954af20531ac825cd3 /ick2/responses.py | |
parent | 1c9c77331874c8932f221c454346568b23c25024 (diff) | |
download | ick2-18753714a35b6c8e5af4b6076973f490a1ba2097.tar.gz |
Refactor: move HTTP response function into their own module
Diffstat (limited to 'ick2/responses.py')
-rw-r--r-- | ick2/responses.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/ick2/responses.py b/ick2/responses.py new file mode 100644 index 0000000..ef68783 --- /dev/null +++ b/ick2/responses.py @@ -0,0 +1,60 @@ +# 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 <http://www.gnu.org/licenses/>. + + +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): # pragma: no cover + 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) |