Fix options.userAgent overrides headers.User-Agent
Support default headers and request headers