Commit c6a34801 authored by James Kirk's avatar James Kirk
Browse files

Merge branch 'improved-errors' into 'dev'

fix: correct error code resp

Closes #32 and #34

See merge request !17
2 merge requests!23Resolve "Release v0.1.0",!17fix: correct error code resp
Pipeline #108974 passed with stages
in 59 seconds
from flask_restful import Resource, request, abort
import logging
from flask_restful import Resource, abort, request
from marshmallow import Schema, fields
import json
import os
import random
import string
from werkzeug.exceptions import BadRequest
from models.client_model import ClientModel
logging.basicConfig(level=logging.INFO)
logging.getLogger("pika").setLevel(logging.ERROR)
class ClientSchema(Schema):
client_id = fields.Str(required=True)
......@@ -37,7 +40,11 @@ class Client(Resource):
return client, 204
def put(self, client_id):
try:
args = request.get_json()
except BadRequest:
abort(400, message="POSTed body is invalid JSON")
errors = self.schema.validate(args)
if errors:
abort(400, message=str(errors))
......@@ -63,7 +70,10 @@ class ClientList(Resource):
}
def post(self):
try:
args = request.get_json()
except BadRequest:
abort(400, message="POSTed body is invalid JSON")
errors = self.schema.validate(args)
if errors:
......@@ -71,7 +81,7 @@ class ClientList(Resource):
client = self.clients_file.find(args["client_id"])
if client:
abort(403, message="Duplicate client id: {}".format(client_id))
abort(409, message="Duplicate client id: {}".format(args["client_id"]))
else:
client = self.clients_file.add(args)
return client, 201
......@@ -2,6 +2,7 @@ import json
from flask_restful import abort, request
from marshmallow import Schema, fields
from werkzeug.exceptions import BadRequest
from endpoints.auth_resource import AuthResource
from rmq import write_to_queue
......@@ -20,7 +21,11 @@ class Notify(AuthResource):
self.schema = NotifySchema()
def post(self):
try:
args = request.get_json()
except BadRequest:
abort(400, message="POSTed body is invalid JSON")
errors = self.schema.validate(args)
if errors:
abort(400, message=str(errors))
......
......@@ -2,6 +2,7 @@ import json
from flask_restful import abort, request
from marshmallow import Schema, fields
from werkzeug.exceptions import BadRequest
from endpoints.auth_resource import AuthResource
from rmq import write_to_queue
......@@ -21,7 +22,11 @@ class Send(AuthResource):
self.schema = SendSchema()
def post(self):
try:
args = request.get_json()
except BadRequest:
abort(400, message="POSTed body is invalid JSON")
errors = self.schema.validate(args)
if errors:
abort(400, message=str(errors))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment