| 193 | } |
| 194 | |
| 195 | TStringBuf GetSchemeHost(const TStringBuf url Y_LIFETIME_BOUND, bool trimHttp) noexcept { |
| 196 | const size_t schemeSize = GetSchemePrefixSize(url); |
| 197 | const TStringBuf scheme = url.Head(schemeSize); |
| 198 | |
| 199 | const bool isHttp = (schemeSize == 0 || scheme == TStringBuf("http://")); |
| 200 | |
| 201 | const TStringBuf host = GetHost(url.Tail(schemeSize)); |
| 202 | |
| 203 | if (isHttp && trimHttp) { |
| 204 | return host; |
| 205 | } else { |
| 206 | return TStringBuf(scheme.begin(), host.end()); |
| 207 | } |
| 208 | } |
| 209 | |
| 210 | TStringBuf GetSchemeHostAndPort(const TStringBuf url Y_LIFETIME_BOUND, bool trimHttp, bool trimDefaultPort) noexcept { |
| 211 | const size_t schemeSize = GetSchemePrefixSize(url); |
no test coverage detected