Merge remote-tracking branch 'origin/1.9.x' into presence-api

This commit is contained in:
ArnabChatterjee20k
2026-04-28 11:40:58 +05:30
3 changed files with 40 additions and 2 deletions
@@ -94,9 +94,12 @@ class Get extends Action
throw new Exception(Exception::AVATAR_REMOTE_URL_FAILED);
}
$body = $res->getBody();
$doc = new DOMDocument();
$doc->strictErrorChecking = false;
@$doc->loadHTML($res->getBody());
if (!empty($body)) {
@$doc->loadHTML($body);
}
$links = $doc->getElementsByTagName('link');
$outputHref = '';
+5 -1
View File
@@ -209,7 +209,11 @@ class Request extends UtopiaRequest
public function getHeader(string $key, string $default = ''): string
{
$headers = $this->getHeaders();
return $headers[$key] ?? $default;
$value = $headers[$key] ?? $default;
if (\is_array($value)) {
$value = $value[0] ?? $default;
}
return \is_string($value) ? $value : $default;
}
/**
+31
View File
@@ -161,6 +161,37 @@ class RequestTest extends TestCase
$this->assertSame($secondRoute, $secondRequest->getRoute());
}
public function testGetHeaderReturnsStringValue(): void
{
$this->request->addHeader('referer', 'https://example.com');
$this->assertSame('https://example.com', $this->request->getHeader('referer'));
}
public function testGetHeaderReturnsDefaultWhenMissing(): void
{
$this->assertSame('', $this->request->getHeader('referer'));
$this->assertSame('fallback', $this->request->getHeader('referer', 'fallback'));
}
public function testGetHeaderCoercesArrayToFirstElement(): void
{
$swoole = new SwooleRequest();
$swoole->header = ['referer' => ['https://a.example', 'https://b.example']];
$request = new Request($swoole);
$this->assertSame('https://a.example', $request->getHeader('referer'));
}
public function testGetHeaderReturnsDefaultWhenValueNotString(): void
{
$swoole = new SwooleRequest();
$swoole->header = ['referer' => 123];
$request = new Request($swoole);
$this->assertSame('fallback', $request->getHeader('referer', 'fallback'));
}
/**
* Helper to attach a route with multiple SDK methods to the request.
*/