-
-
Notifications
You must be signed in to change notification settings - Fork 414
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate MultiVerb into the servant
packages
#1766
Integrate MultiVerb into the servant
packages
#1766
Conversation
b476b8f
to
84ccbd0
Compare
servant
packageservant
package
servant
packageservant
packages
ff04313
to
9e0d8d2
Compare
d10fc87
to
4ecb4ec
Compare
b7e31f0
to
77d471f
Compare
a61130b
to
046d35f
Compare
8be000f
to
1a6b30d
Compare
6d3234e
to
3a84e18
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry for dropping the ball. here are some more comments. i'll continue with the review soon, i promise! :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the lag, but I think we're getting there!
Could you go through the unresolved comments one more time and confirm that you're ok with resolving all of them?
If so I'll approve this PR.
After that: @arianvp wanna give it a read, and maybe merge? @pcapriotti as the author of this code, do you have any feedback?
57e5a38
to
e70eaec
Compare
e70eaec
to
c52bd5c
Compare
@pcapriotti @fisx I'd love your final feedback on this. :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice feature, and very nice to read PR!
I made some comments, but none of them should be considered blocking!
servant-client-core/src/Servant/Client/Core/ResponseUnrender.hs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry for taking so incredibly long! 😳
c52bd5c
to
86b0f6a
Compare
a230b7d
to
5a88909
Compare
This commit is Part 1 of the integration, where only the `servant`Epackage is touched. `Verb` is redefined as an alias for `MultiVerb1` inEorder to make the transition transparent to users of `Verb`.
5a88909
to
8b6fc5b
Compare
Very well, with this last input, I think we are good to merge. |
@fisx would you do me the honour? |
-- | This module offers other servant libraries a minimalistic HTTP response type. | ||
-- | ||
-- It is purely an internal API and SHOULD NOT be used by end-users of Servant. | ||
module Servant.Types.Internal.ResponseList where |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is it called ResponseList
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, it used to probably host stuff in relation with IsResponseList but does not anymore. I'll rename it to Response
.
merged. also the honor is all mine :-) thanks for your infinite patience! |
any objections to me cutting a new release tomorrow? (come to think of it, should i be on the google mailing list so i can ask these things there? i remember vaguely having been opposed to gmail when that was started, but my opposition appearently didn't make google go away... :) |
I'd like us to take some time to address some of the tickets that have appeared since the last release before. |
Moreover I'd also be comfortable with advertising the MultiVerb feature first so that people may try it before we cut a release. |
This commit is Part 1 of the integration, where only the packages of this monorepo are touched.
MultiVerb
is integrated alongside of the other Verb machinery, so that people may take their time to transition to it.IsWaiBody will not be able to live in its current form, as it mixes concepts from the Server and Client packages.
This impacts SomeResponse, which itself impacts the HasClient and HasServer instances.
ResponseF can be replicated internally, even without the httpVersion field.
SomeResponse can be kept on the server, but the client can move to use ResponseF.
The
IsResponse
andIsResponseList
classes are split between client-sideReponse{,List}Unrender
and server-sideResponse{,List}Render
.This is a collaborative work between Scrive AB and Wire Swiss GmbH.