diff options
| author | Rick Altherr <kc8apf@kc8apf.net> | 2018-11-08 09:31:28 -0800 |
|---|---|---|
| committer | Rick Altherr <kc8apf@kc8apf.net> | 2018-11-09 11:41:29 -0800 |
| commit | 58b60fccc12737a436ec6780dc1598467c8f5d2f (patch) | |
| tree | ca737a4c8892e4284f5587944847723ca836706a /src/netops.c | |
| parent | fa7aba70d8c1bc68cd2572d808c66059df6da989 (diff) | |
| download | libgit2-58b60fccc12737a436ec6780dc1598467c8f5d2f.tar.gz | |
netops: add method to return default http port for a connection
Constant strings and logic for HTTP(S) default ports were starting to be
spread throughout netops.c. Instead of duplicating this again to
determine if a Host header should include the port, move the default
port constants and logic into an internal method in netops.{c,h}.
Diffstat (limited to 'src/netops.c')
| -rw-r--r-- | src/netops.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/netops.c b/src/netops.c index efcc6c5a7..272d0ccd8 100644 --- a/src/netops.c +++ b/src/netops.c @@ -119,6 +119,15 @@ int gitno__match_host(const char *pattern, const char *host) return -1; } +static const char *default_port_http = "80"; +static const char *default_port_https = "443"; + +const char *gitno__default_port( + gitno_connection_data *data) +{ + return data->use_ssl ? default_port_https : default_port_http; +} + static const char *prefix_http = "http://"; static const char *prefix_https = "https://"; @@ -141,7 +150,7 @@ int gitno_connection_data_from_url( if (!git__prefixcmp(url, prefix_http)) { path_search_start = url + strlen(prefix_http); - default_port = "80"; + default_port = default_port_http; if (data->use_ssl) { giterr_set(GITERR_NET, "redirect from HTTPS to HTTP is not allowed"); @@ -149,10 +158,10 @@ int gitno_connection_data_from_url( } } else if (!git__prefixcmp(url, prefix_https)) { path_search_start = url + strlen(prefix_https); - default_port = "443"; + default_port = default_port_https; data->use_ssl = true; } else if (url[0] == '/') - default_port = data->use_ssl ? "443" : "80"; + default_port = gitno__default_port(data); if (!default_port) { giterr_set(GITERR_NET, "unrecognized URL prefix"); |
