timeout(30) ->withHeaders($this->defaultHeaders()); } /** * Get default headers for requests. * * Override in concrete classes to add provider-specific headers. */ protected function defaultHeaders(): array { return [ 'User-Agent' => 'HostUK-Plug/1.0', ]; } /** * Build a URL with query parameters. */ protected function buildUrl(string $base, array $params): string { return $base.'?'.http_build_query($params, '', '&'); } }