diff --git a/aiohttp_graphql/graphqlview.py b/aiohttp_graphql/graphqlview.py index 362d87e..f176261 100644 --- a/aiohttp_graphql/graphqlview.py +++ b/aiohttp_graphql/graphqlview.py @@ -202,4 +202,11 @@ def process_preflight(self, request): def attach(cls, app, *, route_path='/graphql', route_name='graphql', **kwargs): view = cls(**kwargs) - app.router.add_route('*', route_path, view, name=route_name) + #app.router.add_route('*', route_path, view, name=route_name) + for method in ('GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD'): # no OPTIONS + app.router.add_route(method, route_path, view, name=route_name) + + # apparently this is just plain missing otherwise? + if 'graphiql' in kwargs and kwargs['graphiql']: + for method in ('GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD'): # no OPTIONS + app.router.add_route(method, '/graphiql', view, name='graphiql')