Neur0toxine / pock

Easy to use PSR-18 compatible HTTP mocking library
MIT License
4 stars 2 forks source link

Replying with a custom Response #1

Open someniatko opened 1 year ago

someniatko commented 1 year ago

First of all, this library is exactly what I was looking for, and I have found nothing comparable to it (php-http/mock-client lib is dated and also very barebones in comparison to this one), thank you!

For now the intended way of crafting a response is to use the library's PockResponseBuilder. However, I'd like to just put my own response implementing PSR's ResponseInterface, like that:

$myResponse = new Response(); // assume Response is a class from some PSR-7 implementation.
$builder = new PockBuilder();
$builder->replyWith($myResponse); // replyWith() is just some suggested method name
Neur0toxine commented 1 year ago

Hello. You can use PockBuilder::replyWithCallback method. The callback will receive two arguments: RequestInterface and PockResponseBuilder. You can safely ignore those and just return any ResponseInterface implementation.

someniatko commented 1 year ago

Thank you! This is a bit verbose and I would prefer to just pass a response directly (maybe internally PockBuilder could call this replaceWithCallback() method though), but this works as well.