graphql 2022-01-21

Coming back to the tracing question above. I'm using the tracing support in pedestal.log combined with AWS X-ray. It seems like it's a very common pattern to store the active "span" (or Segment/Subsegment in XRay terms) in a Thread local. It seems though that Lacinia manages its own thread pool using agents, so the resolvers are not executed in the HTTP thread. I'm using the plain query-executor-handler (not the async one) so I'm wondering if that's expected behaviour.

File uploads with lacinia - what have people done for this / is this a supported thing

Nope, unless you base64 at the client. Best to have a separate endpoint for file uploads.

For some excel uploads I opted to parse client-side and call a graphql endpoint directly - avoiding potential vulnerabilities in parsing Excel files.

Indeed, not even lacinia specific, GraphQL has no binary type.

We have implemented the https://github.com/jaydenseric/graphql-multipart-request-spec for lacinia to support uploads with graphql; unfortunately it's a private lib right now but willing to open source it if there's interest