diff options
| author | Daniil Cherednik <[email protected]> | 2022-11-24 13:14:34 +0300 |
|---|---|---|
| committer | Daniil Cherednik <[email protected]> | 2022-11-24 14:46:00 +0300 |
| commit | 87f7fceed34bcafb8aaff351dd493a35c916986f (patch) | |
| tree | 26809ec8f550aba8eb019e59adc3d48e51913eb2 /library/cpp/actors/http/http_proxy_acceptor.cpp | |
| parent | 11bc4015b8010ae201bf3eb33db7dba425aca35e (diff) | |
Ydb stable 22-4-4322.4.43
x-stable-origin-commit: 8d49d46cc834835bf3e50870516acd7376a63bcf
Diffstat (limited to 'library/cpp/actors/http/http_proxy_acceptor.cpp')
| -rw-r--r-- | library/cpp/actors/http/http_proxy_acceptor.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/library/cpp/actors/http/http_proxy_acceptor.cpp b/library/cpp/actors/http/http_proxy_acceptor.cpp index c44921fe0c1..3c90f8cbe97 100644 --- a/library/cpp/actors/http/http_proxy_acceptor.cpp +++ b/library/cpp/actors/http/http_proxy_acceptor.cpp @@ -19,13 +19,7 @@ public: : NActors::TActor<TAcceptorActor>(&TAcceptorActor::StateInit) , Owner(owner) , Poller(poller) - , Socket(new TSocketDescriptor()) { - // for unit tests :( - SetSockOpt(Socket->Socket, SOL_SOCKET, SO_REUSEADDR, (int)true); -#ifdef SO_REUSEPORT - SetSockOpt(Socket->Socket, SOL_SOCKET, SO_REUSEPORT, (int)true); -#endif } protected: @@ -45,7 +39,15 @@ protected: } void HandleInit(TEvHttpProxy::TEvAddListeningPort::TPtr event, const NActors::TActorContext& ctx) { - SocketAddressType bindAddress(Socket->Socket.MakeAddress(event->Get()->Address,event->Get()->Port)); + TString address = event->Get()->Address; + ui16 port = event->Get()->Port; + Socket = new TSocketDescriptor(SocketType::GuessAddressFamily(address)); + // for unit tests :( + SetSockOpt(Socket->Socket, SOL_SOCKET, SO_REUSEADDR, (int)true); +#ifdef SO_REUSEPORT + SetSockOpt(Socket->Socket, SOL_SOCKET, SO_REUSEPORT, (int)true); +#endif + SocketAddressType bindAddress(Socket->Socket.MakeAddress(address, port)); Endpoint = std::make_shared<TPrivateEndpointInfo>(event->Get()->CompressContentTypes); Endpoint->Owner = ctx.SelfID; Endpoint->Proxy = Owner; |
