-
Notifications
You must be signed in to change notification settings - Fork 14
Closed
Labels
Description
I'm trying to combine alumbra with GraphiQL and it seems to work for correctly constructed queries, but I'm not getting correct error handling. I'm using [alumbra "0.2.5"].
For the basic query '{"query":{"me"}}'.
java.io.FileNotFoundException: /Users/tokenvolt/dev/clojure/complex-app/resources/templates/alumbra/errors/parser-errors/early-closing-brace.txt (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at clojure.java.io$fn__9524.invokeStatic(io.clj:238)
at clojure.java.io$fn__9524.invoke(io.clj:235)
at clojure.java.io$fn__9433$G__9426__9440.invoke(io.clj:69)
at clojure.java.io$fn__9494.invokeStatic(io.clj:165)
at clojure.java.io$fn__9494.invoke(io.clj:165)
at clojure.java.io$fn__9446$G__9422__9453.invoke(io.clj:69)
at clojure.java.io$reader.invokeStatic(io.clj:102)
at clojure.java.io$reader.doInvoke(io.clj:86)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at selmer.validator$validate_tags.invokeStatic(validator.clj:103)
at selmer.validator$validate_tags.invoke(validator.clj:102)
at selmer.validator$validate.invokeStatic(validator.clj:116)
at selmer.validator$validate.invoke(validator.clj:113)
at selmer.template_parser$read_template.invokeStatic(template_parser.clj:197)
at selmer.template_parser$read_template.invoke(template_parser.clj:191)
at selmer.template_parser$preprocess_template.invokeStatic(template_parser.clj:253)
at selmer.template_parser$preprocess_template.doInvoke(template_parser.clj:252)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at selmer.parser$parse_file.invokeStatic(parser.clj:264)
at selmer.parser$parse_file.invoke(parser.clj:263)
at selmer.parser$parse.invokeStatic(parser.clj:292)
at selmer.parser$parse.doInvoke(parser.clj:266)
at clojure.lang.RestFn.invoke(RestFn.java:442)
at selmer.parser$render_file.invokeStatic(parser.clj:130)
at selmer.parser$render_file.doInvoke(parser.clj:113)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at alumbra.errors.templates$render$fn__41613.invoke(templates.clj:84)
at alumbra.errors.templates$render.invokeStatic(templates.clj:83)
at alumbra.errors.templates$render.invoke(templates.clj:78)
at alumbra.errors.templates$render_for$fn__41622.invoke(templates.clj:104)
at clojure.core$some.invokeStatic(core.clj:2592)
at clojure.core$some.invoke(core.clj:2583)
at alumbra.errors.templates$render_for.invokeStatic(templates.clj:104)
at alumbra.errors.templates$render_for.invoke(templates.clj:98)
at alumbra.errors$explain_parser_error.invokeStatic(errors.clj:19)
at alumbra.errors$explain_parser_error.invoke(errors.clj:16)
at alumbra.errors$explain_data$fn__41661.invoke(errors.clj:65)
at clojure.core$map$fn__4785.invoke(core.clj:2644)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.RT.seq(RT.java:521)
at clojure.core$seq__4357.invokeStatic(core.clj:137)
at clojure.core$seq__4357.invoke(core.clj:137)
at alumbra.errors$explain_data.invokeStatic(errors.clj:63)
at alumbra.errors$explain_data.invoke(errors.clj:51)
at alumbra.pipeline.ring$parser_error_response.invokeStatic(ring.clj:62)
at alumbra.pipeline.ring$parser_error_response.invoke(ring.clj:59)
at alumbra.pipeline.ring$error_response.invokeStatic(ring.clj:100)
at alumbra.pipeline.ring$error_response.invoke(ring.clj:96)
at alumbra.pipeline.ring$as_response.invokeStatic(ring.clj:117)
at alumbra.pipeline.ring$as_response.invoke(ring.clj:109)
at clojure.core$comp$fn__4727.invoke(core.clj:2460)
at alumbra.pipeline$make_graphql_handler$fn__41786.invoke(pipeline.clj:40)
at ring.middleware.json$wrap_json_response$fn__41768.invoke(json.clj:123)
at ring.middleware.json$wrap_json_body$fn__41745.invoke(json.clj:52)
at complex_app.routes.home$fn__43903.invokeStatic(home.clj:18)
at complex_app.routes.home$fn__43903.invoke(home.clj:17)
at compojure.core$wrap_response$fn__28782.invoke(core.clj:158)
at compojure.core$wrap_route_middleware$fn__28766.invoke(core.clj:128)
at compojure.core$wrap_route_info$fn__28771.invoke(core.clj:137)
at compojure.core$wrap_route_matches$fn__28775.invoke(core.clj:146)
at compojure.core$routing$fn__28790.invoke(core.clj:185)
at clojure.core$some.invokeStatic(core.clj:2592)
at clojure.core$some.invoke(core.clj:2583)
at compojure.core$routing.invokeStatic(core.clj:185)
at compojure.core$routing.doInvoke(core.clj:182)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$apply.invoke(core.clj:641)
at compojure.core$routes$fn__28794.invoke(core.clj:192)
at clojure.lang.Var.invoke(Var.java:379)
at compojure.core$routing$fn__28790.invoke(core.clj:185)
at clojure.core$some.invokeStatic(core.clj:2592)
at clojure.core$some.invoke(core.clj:2583)
at compojure.core$routing.invokeStatic(core.clj:185)
at compojure.core$routing.doInvoke(core.clj:182)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invokeStatic(core.clj:648)
at clojure.core$apply.invoke(core.clj:641)
at compojure.core$routes$fn__28794.invoke(core.clj:192)
at clojure.lang.Var.invoke(Var.java:379)
at ring.middleware.reload$wrap_reload$fn__44479.invoke(reload.clj:39)
at selmer.middleware$wrap_error_page$fn__44492.invoke(middleware.clj:9)
at prone.middleware$wrap_exceptions$fn__44690.invoke(middleware.clj:126)
at ring.logger$wrap_with_logger_STAR_$fn__46350.invoke(logger.clj:19)
at ring.logger.onelog.OnelogLogger$fn__46400.invoke(onelog.clj:49)
at ring.logger$wrap_request_start$fn__46354.invoke(logger.clj:37)
at buddy.auth.middleware$wrap_authentication$fn__50341.invoke(middleware.clj:43)
at buddy.auth.middleware$wrap_authorization$fn__50349.invoke(middleware.clj:94)
at ring.middleware.webjars$wrap_webjars$fn__44785.invoke(webjars.clj:41)
at ring.middleware.flash$wrap_flash$fn__45771.invoke(flash.clj:39)
at immutant.web.internal.undertow$wrap_undertow_session$fn__50512.invoke(undertow.clj:72)
at ring.middleware.keyword_params$wrap_keyword_params$fn__49657.invoke(keyword_params.clj:36)
at ring.middleware.nested_params$wrap_nested_params$fn__49705.invoke(nested_params.clj:89)
at ring.middleware.multipart_params$wrap_multipart_params$fn__49783.invoke(multipart_params.clj:172)
at ring.middleware.params$wrap_params$fn__49807.invoke(params.clj:67)
at ring.middleware.cookies$wrap_cookies$fn__49498.invoke(cookies.clj:175)
at ring.middleware.absolute_redirects$wrap_absolute_redirects$fn__49943.invoke(absolute_redirects.clj:47)
at ring.middleware.resource$wrap_resource$fn__49823.invoke(resource.clj:37)
at ring.middleware.content_type$wrap_content_type$fn__49891.invoke(content_type.clj:34)
at ring.middleware.default_charset$wrap_default_charset$fn__49915.invoke(default_charset.clj:31)
at ring.middleware.not_modified$wrap_not_modified$fn__49872.invoke(not_modified.clj:53)
at ring.middleware.x_headers$wrap_x_header$fn__48545.invoke(x_headers.clj:22)
at ring.middleware.x_headers$wrap_x_header$fn__48545.invoke(x_headers.clj:22)
at ring.middleware.x_headers$wrap_x_header$fn__48545.invoke(x_headers.clj:22)
at complex_app.middleware$wrap_context$fn__50374.invoke(middleware.clj:32)
at complex_app.middleware$wrap_internal_error$fn__50380.invoke(middleware.clj:37)
at immutant.web.internal.undertow$create_http_handler$reify__50623.handleRequest(undertow.clj:239)
at org.projectodd.wunderboss.web.undertow.async.websocket.UndertowWebsocket$2.handleRequest(UndertowWebsocket.java:107)
at io.undertow.server.session.SessionAttachmentHandler.handleRequest(SessionAttachmentHandler.java:68)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:802)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)