{"action":"created","issue":{"url":"https://api.github.com/repos/googleads/googleads-python-lib/issues/250","repository_url":"https://api.github.com/repos/googleads/googleads-python-lib","labels_url":"https://api.github.com/repos/googleads/googleads-python-lib/issues/250/labels{/name}","comments_url":"https://api.github.com/repos/googleads/googleads-python-lib/issues/250/comments","events_url":"https://api.github.com/repos/googleads/googleads-python-lib/issues/250/events","html_url":"https://github.com/googleads/googleads-python-lib/issues/250","id":295324709,"number":250,"title":"Calling ReportService through a managed NAT resulting in closed connections","user":{"login":"oaustegard","id":3268739,"avatar_url":"https://avatars1.githubusercontent.com/u/3268739?v=4","gravatar_id":"","url":"https://api.github.com/users/oaustegard","html_url":"https://github.com/oaustegard","followers_url":"https://api.github.com/users/oaustegard/followers","following_url":"https://api.github.com/users/oaustegard/following{/other_user}","gists_url":"https://api.github.com/users/oaustegard/gists{/gist_id}","starred_url":"https://api.github.com/users/oaustegard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oaustegard/subscriptions","organizations_url":"https://api.github.com/users/oaustegard/orgs","repos_url":"https://api.github.com/users/oaustegard/repos","events_url":"https://api.github.com/users/oaustegard/events{/privacy}","received_events_url":"https://api.github.com/users/oaustegard/received_events","type":"User","site_admin":false},"labels":[{"id":820260111,"url":"https://api.github.com/repos/googleads/googleads-python-lib/labels/P2","name":"P2","color":"fbca04","default":false},{"id":85838253,"url":"https://api.github.com/repos/googleads/googleads-python-lib/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-02-07T22:59:34Z","updated_at":"2018-02-15T15:49:32Z","closed_at":null,"author_association":"NONE","body":"We have attempted to utilize both this and the Java lib to download DFP reports from the ReportService through a managed NAT service, whose default timeout is 350 seconds. The absence of a [Keep-Alive header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Keep-Alive) on the http call forces the NAT to drop our connection prematurely.\r\n\r\nhttps://github.com/googleads/googleads-python-lib/blob/master/googleads/common.py#L681 sets the socket timeout of the call to 1 hr, and this allows us to download the report from a public subnet, but our process must run behind the NAT and we're thus stymied with the current code base.\r\n\r\nIs it possible to either a) add a Keep-Alive header with a similar timeout as in L681, or b) allow users to pass in the needed headers as part of the call? We'd hate to have to edit and keep synchronized changes to the library. \r\n\r\nThanks!\r\nOskar"},"comment":{"url":"https://api.github.com/repos/googleads/googleads-python-lib/issues/comments/365968671","html_url":"https://github.com/googleads/googleads-python-lib/issues/250#issuecomment-365968671","issue_url":"https://api.github.com/repos/googleads/googleads-python-lib/issues/250","id":365968671,"user":{"login":"grivescorbett","id":395660,"avatar_url":"https://avatars0.githubusercontent.com/u/395660?v=4","gravatar_id":"","url":"https://api.github.com/users/grivescorbett","html_url":"https://github.com/grivescorbett","followers_url":"https://api.github.com/users/grivescorbett/followers","following_url":"https://api.github.com/users/grivescorbett/following{/other_user}","gists_url":"https://api.github.com/users/grivescorbett/gists{/gist_id}","starred_url":"https://api.github.com/users/grivescorbett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grivescorbett/subscriptions","organizations_url":"https://api.github.com/users/grivescorbett/orgs","repos_url":"https://api.github.com/users/grivescorbett/repos","events_url":"https://api.github.com/users/grivescorbett/events{/privacy}","received_events_url":"https://api.github.com/users/grivescorbett/received_events","type":"User","site_admin":false},"created_at":"2018-02-15T15:49:32Z","updated_at":"2018-02-15T15:49:32Z","author_association":"CONTRIBUTOR","body":"Hey Oskar,\r\n\r\nI hear you, I did not know that you could specify socket flags like that using HTTP headers. Again I'm happy that you're unblocked, and we'll explore building this properly into the library."}}
{"actor":{"display_login":"grivescorbett"}}