Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Error templates not found when using custom Selmer resource path #24

@tokenvolt

Description

@tokenvolt

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)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions