|
|
@ -5,14 +5,18 @@ from apistar.frameworks.wsgi import WSGIApp as App
|
|
|
|
from apistar.handlers import docs_urls, static_urls
|
|
|
|
from apistar.handlers import docs_urls, static_urls
|
|
|
|
from apistar.interfaces import Router, Injector, Auth
|
|
|
|
from apistar.interfaces import Router, Injector, Auth
|
|
|
|
from apistar_jwt.authentication import JWTAuthentication
|
|
|
|
from apistar_jwt.authentication import JWTAuthentication
|
|
|
|
|
|
|
|
import logbook
|
|
|
|
|
|
|
|
|
|
|
|
from cookie_api.auth import auth_routes, auth_components
|
|
|
|
from cookie_api.auth import auth_routes, auth_components
|
|
|
|
from cookie_api.commands import commands
|
|
|
|
from cookie_api.commands import commands
|
|
|
|
from cookie_api.models import Cookie
|
|
|
|
from cookie_api.models import Cookie
|
|
|
|
from cookie_api.schema import CookieSchema
|
|
|
|
from cookie_api.schema import CookieSchema
|
|
|
|
|
|
|
|
from cookie_api import logging
|
|
|
|
|
|
|
|
|
|
|
|
cookie_schema = CookieSchema()
|
|
|
|
cookie_schema = CookieSchema()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
logger = logbook.Logger('Cookies')
|
|
|
|
|
|
|
|
|
|
|
|
@annotate(authentication=[JWTAuthentication()])
|
|
|
|
@annotate(authentication=[JWTAuthentication()])
|
|
|
|
def get_state(injector: Injector, auth: Auth):
|
|
|
|
def get_state(injector: Injector, auth: Auth):
|
|
|
|
state = injector.state
|
|
|
|
state = injector.state
|
|
|
@ -23,6 +27,7 @@ def get_state(injector: Injector, auth: Auth):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_cookies(session: Session):
|
|
|
|
def get_cookies(session: Session):
|
|
|
|
|
|
|
|
logger.info("Accessing the Cookies resource")
|
|
|
|
cookies = session.query(Cookie).all()
|
|
|
|
cookies = session.query(Cookie).all()
|
|
|
|
return cookie_schema.dump(cookies, many=True).data
|
|
|
|
return cookie_schema.dump(cookies, many=True).data
|
|
|
|
|
|
|
|
|
|
|
@ -30,6 +35,7 @@ def get_cookies(session: Session):
|
|
|
|
def get_cookie(session: Session, id):
|
|
|
|
def get_cookie(session: Session, id):
|
|
|
|
cookie = session.query(Cookie).filter_by(id=id).one_or_none()
|
|
|
|
cookie = session.query(Cookie).filter_by(id=id).one_or_none()
|
|
|
|
if cookie is None:
|
|
|
|
if cookie is None:
|
|
|
|
|
|
|
|
logger.warn("Someone keeps requesting bad cookie locations")
|
|
|
|
msg = {"error": "404 Not Found"}
|
|
|
|
msg = {"error": "404 Not Found"}
|
|
|
|
return http.Response(msg, status=404)
|
|
|
|
return http.Response(msg, status=404)
|
|
|
|
return cookie_schema.dump(cookie).data
|
|
|
|
return cookie_schema.dump(cookie).data
|
|
|
@ -67,7 +73,11 @@ routes = [
|
|
|
|
Include('/static', static_urls)
|
|
|
|
Include('/static', static_urls)
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
app_settings = {}
|
|
|
|
app_settings = {
|
|
|
|
|
|
|
|
"LOGGING": {
|
|
|
|
|
|
|
|
"LEVEL": "DEBUG"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
routes = routes + auth_routes
|
|
|
|
routes = routes + auth_routes
|
|
|
|
|
|
|
|
|
|
|
@ -78,7 +88,11 @@ components = sqlalchemy_backend.components + auth_components
|
|
|
|
|
|
|
|
|
|
|
|
def application_factory(settings={}):
|
|
|
|
def application_factory(settings={}):
|
|
|
|
"""Returns an instance of Cookie API"""
|
|
|
|
"""Returns an instance of Cookie API"""
|
|
|
|
return App(settings={**app_settings, **settings},
|
|
|
|
_settings = {**app_settings, **settings}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
logging.global_init(_settings)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return App(settings=_settings,
|
|
|
|
commands=commands,
|
|
|
|
commands=commands,
|
|
|
|
components=components,
|
|
|
|
components=components,
|
|
|
|
routes=routes)
|
|
|
|
routes=routes)
|
|
|
|