Example #1
0
class Session(Resource):
    cache = {}

    def __init__(self):
        self._model = SessionModel()

    def post(self):
        data = self._model.create((request.remote_addr or "0.0.0.0"),
                                  str(request.user_agent))
        if data:
            data = self._model.read(data.id)
            return jsonify(dict(data))
        abort(400)

    def get(self, session_id=None):
        response = self._model.read(session_id)
        if response:
            return jsonify(response)
        abort(404)

    def delete(self, session_id=None):
        self._model.destroy(session_id)
        return ""

    def put(self, session_id=None):
        data = self._model.update(session_id, data=json.dumps(request.json))
        if data:
            data = self._model.read(session_id)
            if data:
                return jsonify(dict(data))
        abort(400)
Example #2
0
class SessionExtern(Resource):
    def __init__(self):
        Resource.__init__(self)
        self.model = SessionModel()

    def _validate_session(self, session_id=None):
        if not session_id:
            abort(404)

    def post(self):
        response = self.model.create((request.remote_addr or "0.0.0.0"),
                                     str(request.user_agent or ""))
        if response.is_ok():
            return response.data()
        elif response.is_communication_error():
            abort(503)
        else:
            abort(401)

    def get(self, session_id=None):
        self._validate_session(session_id)
        response = self.model.read(session_id)
        if response.is_ok():
            return jsonify(response.data())
        abort(404)

    def delete(self, session_id=None):
        self._validate_session()
        response = self.model.destroy(session_id)
        if response.is_ok():
            return True
        return abort(500)

    def put(self, session_id=None):
        self._validate_session()
        pass