-
Notifications
You must be signed in to change notification settings - Fork 2k
Closed
Labels
🚨This issue needs some love.This issue needs some love.triage meI really want to be triaged.I really want to be triaged.
Description
It would be nice to be able to use the google-api-nodejs-client via a HTTP proxy. Request appears to support proxy configuration.
Possibly via the withOpts:
discover('youtube', 'v3').withOpts({ proxy: 'http://mylocalproxy.com' });
Metadata
Metadata
Assignees
Labels
🚨This issue needs some love.This issue needs some love.triage meI really want to be triaged.I really want to be triaged.
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
ryanseys commentedon Jul 22, 2014
Fixed in 1.0.0. You can now specify additional options to the
request
object at the global or service level.To see more information look at README#Options and more information on setting a proxy can be found here. (Our library just relays the settings to the
mikeal/request
object)Juljan commentedon Jul 25, 2014
Seems it does not work for the auth API. I may be wrong but I think the proxy is not set in the calls to
this.transporter.request
inoauth2client.js
.ryanseys commentedon Jul 25, 2014
Hi @Juljan, there's a test you can find here that will show you how to apply things like proxy to a request.
ryanseys commentedon Jul 25, 2014
I have written an additional test here to test the scenario of setting a proxy with
auth
set to an oauth client. The test passed with no additional changes to the code, so you can be sure that it is working.flo-sch commentedon Oct 1, 2014
What about HTTPS proxys ? Is there any plan to support it in the future ? Should it be reported to the "request" project issues ?
aguegu commentedon Oct 11, 2014
I have tried set a global proxy with
google.options({ proxy: 'http://127.0.0.1:7777' });
But as I checked my local http proxy debug log, google api nodejs client does not always go through this proxy. Sometime it does, sometime it trys to access directly (and it would not success in my scenario).
Can anyone help me test on it?
aguegu commentedon Oct 11, 2014
As checking request doc,
add this line before google.options({ proxy: 'http://127.0.0.1:7777' }); helps:
process.env.HTTPS_PROXY = 'http://127.0.0.1:7777';
https://github.com/mikeal/request#controlling-proxy-behaviour-using-environment-variables
vaughnmuirhead commentedon Sep 7, 2017
Yep, process.env.HTTPS_PROXY = 'http://:'; worked for me. Thanks @aguegu
mirismaili commentedon Sep 3, 2020
I tried
google.options({ proxy: 'http://SOMETHING_WRONG' })
. It works regularly! So it shouldn't be the correct setting.I found the below option works as expected:
This crashes on invalid proxies and works on valid proxies, as expected.
Ref:
https://github.com/googleapis/google-api-nodejs-client#request-options says:
And gaxios introduces itself:
And node-fetch uses http-agent:
https://github.com/node-fetch/node-fetch#custom-agent