juniper
juniper copied to clipboard
Possible API improvements to `juniper_hyper`
While working on #1101 , I thought of a couple more possible improvements.
For one, I think it would be useful to make parse_req and execute_request[_sync] public. With that, it would be possible to inspect the GraphQLRequest before executing it (e.g. for logging). It's even questionable whether the convenience graphql[_sync] functions are even necessary then, as they just call these two other functions.
All functions taking a Request<Body> should also be able to take a Request<String>. The body is converted to a string internally anyway and users of the library might already have a Response<String>. This also helps with users inspecting the request beforehand, given that String is much easier to use than hyper::Body. However, extending the API like that is a bit harder than #1101 as we still want to support Body.
@LukasKalbertodt let's give it a try 😉