mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Merge remote-tracking branch 'origin/1.9.x' into presence-api
This commit is contained in:
@@ -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 = '';
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user