$params */ public function __construct( private readonly string $method, private readonly string $path, private readonly array $params = [], ) { } public function method(): string { return $this->method; } public function path(): string { return $this->path; } public function param(string $name, string $default = ''): string { return $this->params[$name] ?? $default; } public function withParams(array $params): RequestInterface { return new self($this->method, $this->path, $params); } }