Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTPS proxy support (Second attempt) #3691

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

Jokser
Copy link

@Jokser Jokser commented Jul 18, 2022

Rebased work on #3040
#3035
Added possibility to connect to HTTPS proxy.
Not all proxies support CONNECT requests, so it's possible to send a request directly to HTTPS proxy without CONNECT requests. This behavior is controlled by the proxy tunnel option which is 'true' by default for backward-compatibility.
In the case of HTTP endpoint and HTTP proxy, there is no tunneling despite the tunnel option being true by default. This was done also for backward-compatibility.

I also included the following fix ClickHouse#63

These changes are battled-tested in ClickHouse project.

Jokser and others added 10 commits July 9, 2022 16:07
…unnel usage)

GCS server does not handle requests with port, and simply report an
error:

    <?xml version="1.0"?>
    <?xml version='1.0' encoding='UTF-8'?>
    <Error>
        <Code>InvalidURI</Code>
        <Message>Couldn't parse the specified URI.</Message>
        <Details>Invalid URL: storage.googleapis.com:443/...</Details>
    </Error>

Removing the port fixes the issue. Note that there is port in the Host
header anyway.

Note, this is a problem only for proxy in a tunnel mode, since only it
sends such requests, other sends requests directly via HTTP methods.
Copy link
Member

@aleks-f aleks-f left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all CI failing, please fix

Copy link
Member

@aleks-f aleks-f left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proxy tests still failing on all platforms

There were 3 errors: 
 1: N7CppUnit10TestCallerI21HTTPClientSessionTestEE.testProxy
    "N4Poco3Net18NoMessageExceptionE:
No message received"
    in "<unknown>", line -1
 2: N7CppUnit10TestCallerI21HTTPClientSessionTestEE.testProxyAuth
    "N4Poco3Net18NoMessageExceptionE:
No message received"
    in "<unknown>", line -1
 3: N7CppUnit10TestCallerI21HTTPStreamFactoryTestEE.testProxy
    "N4Poco3Net18NoMessageExceptionE:
No message received"
    in "<unknown>", line -1

@aleks-f
Copy link
Member

aleks-f commented Mar 22, 2023

@Jokser do you plan to work on this or should I close it?

@aleks-f aleks-f mentioned this pull request Dec 21, 2023
@matejk matejk deleted the branch pocoproject:main April 15, 2024 11:20
@matejk matejk closed this Apr 15, 2024
@matejk matejk reopened this Apr 22, 2024
@matejk matejk changed the base branch from devel to main April 22, 2024 07:01
@matejk matejk self-assigned this Jul 15, 2024
@matejk matejk modified the milestones: Release 1.14.0, Release 1.15.0 Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants