Skip to content

Commit ed13a9f

Browse files
committed
Merge branch 'master' into 3.2-merge
# Conflicts: # src/amqp/composer.json # src/async-queue/composer.json # src/cache/composer.json # src/circuit-breaker/composer.json # src/config-apollo/composer.json # src/config-center/composer.json # src/config-etcd/composer.json # src/config-nacos/composer.json # src/config/composer.json # src/constants/composer.json # src/consul/composer.json # src/crontab/composer.json # src/dag/composer.json # src/database-pgsql/composer.json # src/database-sqlite/composer.json # src/database/composer.json # src/db-connection/composer.json # src/db/composer.json # src/devtool/composer.json # src/di/composer.json # src/elasticsearch/composer.json # src/etcd/composer.json # src/exception-handler/composer.json # src/filesystem/composer.json # src/grpc-client/composer.json # src/grpc-server/composer.json # src/http-message/composer.json # src/http-server/composer.json # src/http2-client/composer.json # src/json-rpc/composer.json # src/kafka/composer.json # src/logger/composer.json # src/metric/composer.json # src/migration-generator/composer.json # src/model-cache/composer.json # src/model-listener/composer.json # src/nacos/composer.json # src/nats/composer.json # src/nsq/composer.json # src/paginator/composer.json # src/pool/composer.json # src/process/composer.json # src/rate-limit/composer.json # src/reactive-x/composer.json # src/redis/composer.json # src/resource-grpc/composer.json # src/resource/composer.json # src/retry/composer.json # src/rpc-client/composer.json # src/rpc-multiplex/composer.json # src/rpc-server/composer.json # src/rpc/composer.json # src/scout/composer.json # src/server/composer.json # src/service-governance-consul/composer.json # src/service-governance-nacos/composer.json # src/session/composer.json # src/signal/composer.json # src/snowflake/composer.json # src/socket/composer.json # src/socketio-server/composer.json # src/stringable/composer.json # src/super-globals/composer.json # src/support/composer.json # src/swagger/composer.json # src/task/composer.json # src/testing/composer.json # src/tracer/composer.json # src/translation/composer.json # src/utils/composer.json # src/validation/composer.json # src/view-engine/composer.json # src/view/composer.json # src/watcher/composer.json # src/websocket-client/composer.json # src/websocket-server/composer.json
2 parents 7d60f5c + b5f8dbd commit ed13a9f

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

composer.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,18 @@
2222
"hyperf/collection": "~3.2.0",
2323
"hyperf/context": "~3.2.0",
2424
"hyperf/contract": "~3.2.0",
25+
"hyperf/coordinator": "~3.2.0",
2526
"hyperf/coroutine": "~3.2.0",
2627
"hyperf/dispatcher": "~3.2.0",
28+
"hyperf/engine": "^2.0",
2729
"hyperf/event": "~3.2.0",
2830
"hyperf/exception-handler": "~3.2.0",
2931
"hyperf/http-message": "~3.2.0",
3032
"hyperf/macroable": "~3.2.0",
3133
"hyperf/serializer": "~3.2.0",
3234
"hyperf/server": "~3.2.0",
3335
"hyperf/stdlib": "~3.2.0",
36+
"hyperf/stringable": "~3.2.0",
3437
"hyperf/support": "~3.2.0",
3538
"nikic/fast-route": "^1.3",
3639
"psr/container": "^1.0 || ^2.0",

src/ResponseEmitter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ protected function buildSwooleResponse(Response $swooleResponse, ResponseInterfa
6868
'isRaw', 'getValue', 'getName', 'getExpiresTime', 'getPath', 'getDomain', 'isSecure', 'isHttpOnly', 'getSameSite',
6969
])) {
7070
$value = $cookie->isRaw() ? $cookie->getValue() : rawurlencode($cookie->getValue());
71-
$swooleResponse->rawcookie($cookie->getName(), $value, $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), $cookie->isHttpOnly(), (string) $cookie->getSameSite());
71+
$swooleResponse->rawcookie($cookie->getName(), $value === '' ? 'deleted' : $value, $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), $cookie->isHttpOnly(), (string) $cookie->getSameSite());
7272
}
7373
}
7474
}

tests/ResponseTest.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ public function testCookiesAndHeaders()
241241
$id = uniqid();
242242
$cookie1 = new Cookie('Name', 'Hyperf');
243243
$cookie2 = new Cookie('Request-Id', $id);
244+
$cookie3 = new Cookie('Cleared', '');
244245
$swooleResponse->shouldReceive('status')->with(200, 'OK')->andReturnUsing(function ($code) {
245246
$this->assertSame($code, 200);
246247
return true;
@@ -251,17 +252,17 @@ public function testCookiesAndHeaders()
251252
}
252253
return true;
253254
});
254-
$swooleResponse->shouldReceive('rawcookie')->withAnyArgs()->twice()->andReturnUsing(function ($name, $value, ...$args) use ($id) {
255-
$this->assertTrue($name == 'Name' || $name == 'Request-Id');
256-
$this->assertTrue($value == 'Hyperf' || $value == $id);
255+
$swooleResponse->shouldReceive('rawcookie')->withAnyArgs()->times(3)->andReturnUsing(function ($name, $value, ...$args) use ($id) {
256+
$this->assertTrue(in_array($name, ['Name', 'Request-Id', 'Cleared']));
257+
$this->assertTrue(in_array($value, ['Hyperf', $id, 'deleted']));
257258
return true;
258259
});
259260
$swooleResponse->shouldReceive('end')->once()->andReturn(true);
260261

261262
Context::set(PsrResponseInterface::class, $psrResponse = new \Hyperf\HttpMessage\Server\Response());
262263

263264
$response = new Response();
264-
$response = $response->withCookie($cookie1)->withCookie($cookie2)->withHeader('X-Token', 'xxx')->withStatus(200);
265+
$response = $response->withCookie($cookie1)->withCookie($cookie2)->withCookie($cookie3)->withHeader('X-Token', 'xxx')->withStatus(200);
265266

266267
$this->assertInstanceOf(Response::class, $response);
267268
$this->assertInstanceOf(ResponseInterface::class, $response);

0 commit comments

Comments
 (0)