Extracted URL resolution logic into separate method for better testability
Executor performs HTTP requests: - Uses httpx for HTTP calls - Resolves {{variable}} in URLs - Returns Response with status, body, headers