soap
soap copied to clipboard
Provide extra callbacks for cowboy protocol 1,2
The main motivation of this pullrequest is as following:
If one is using cowboy middleware for example to do the logging of the http body - then the body will be no longer available through cowboy_req:body/2
call. This pullrequest allows to provide Body by using soap_cowboy_1_protocol:upgrade/5
or soap_cowboy_2_protocol:upgrade/7
. In this case extra tiny module will be needed from the user's side to read body from whether he stored it, and provide it down to the soap library.
For example in our case middleware that does the logging stores body with cowboy_req:meta/2.
@cmullaparthi What do you think?)
I've had a quick look and it looks good. I want to look a bit deeper before I merge it - will get it done soon. Thanks for the contribution.
@cmullaparthi ping me if you want me to provide some tests regarding those callbacks.
@define-null this looks good to me, but it would be great to have some tests validating this. Could you please provide some?
@cmullaparthi Provided tests for the this functionality. Tests on 1.1.x cowboy branch pass fine.
BTW Current cowboy2 integration seems to be broken. At least api that I checked here https://github.com/ninenines/cowboy/blob/2.0.0-pre.5/src/cowboy.erl differs from what soap expect it to be.
And thank you for the library!
Oh I see, it was broken since https://github.com/ninenines/cowboy/blob/2.0.0-pre.4/src/cowboy.erl
Ping :)
@cmullaparthi would be nice to see your comments on this
Any updates? We may drop this functionality for cowboy 2.0 for now, untill 2.0.0 final goes live
@willemd ping
So the cowboy 2.0 is already there @cmullaparthi @willemdj are you gonna consider this pullrequest if I will introduce all the necessary changes?
I fixed support for cowboy 2. Tested on both cowboy 2.2.2 and cowboy 1.1.2