@@ 100-117 (lines=18) @@ | ||
97 | * @param ResponseInterface $response |
|
98 | * @return CancellablePromiseInterface |
|
99 | */ |
|
100 | public function post( |
|
101 | ResponseInterface $response |
|
102 | ): CancellablePromiseInterface { |
|
103 | $promise = resolve($response); |
|
104 | ||
105 | $middlewares = $this->middlewares; |
|
106 | $middlewares = $this->orderMiddlewares('post', ...$middlewares); |
|
107 | $middlewares = array_reverse($middlewares); |
|
108 | ||
109 | foreach ($middlewares as $middleware) { |
|
110 | $responseMiddleware = $middleware; |
|
111 | $promise = $promise->then(function (ResponseInterface $response) use ($responseMiddleware) { |
|
112 | return $responseMiddleware->post($response, $this->options); |
|
113 | }); |
|
114 | } |
|
115 | ||
116 | return $promise; |
|
117 | } |
|
118 | ||
119 | /** |
|
120 | * @param Throwable $throwable |
|
@@ 123-141 (lines=19) @@ | ||
120 | * @param Throwable $throwable |
|
121 | * @return CancellablePromiseInterface |
|
122 | */ |
|
123 | public function error( |
|
124 | Throwable $throwable |
|
125 | ): CancellablePromiseInterface { |
|
126 | ||
127 | $promise = reject($throwable); |
|
128 | ||
129 | $middlewares = $this->middlewares; |
|
130 | $middlewares = $this->orderMiddlewares('error', ...$middlewares); |
|
131 | $middlewares = array_reverse($middlewares); |
|
132 | ||
133 | foreach ($middlewares as $middleware) { |
|
134 | $errorMiddleware = $middleware; |
|
135 | $promise = $promise->then(null, function (Throwable $throwable) use ($errorMiddleware) { |
|
136 | return reject($errorMiddleware->error($throwable, $this->options)); |
|
137 | }); |
|
138 | } |
|
139 | ||
140 | return $promise; |
|
141 | } |
|
142 | } |
|
143 |