mirror of
https://github.com/curl/curl.git
synced 2026-08-25 17:43:39 +03:00
CURLOPT_DEFAULT_PROTOCOL: added
- Add new option CURLOPT_DEFAULT_PROTOCOL to allow specifying a default protocol for schemeless URLs. - Add new tool option --proto-default to expose CURLOPT_DEFAULT_PROTOCOL. In the case of schemeless URLs libcurl will behave in this way: When the option is used libcurl will use the supplied default. When the option is not used, libcurl will follow its usual plan of guessing from the hostname and falling back to 'http'.
This commit is contained in:
parent
22cb631198
commit
9756d1da76
21 changed files with 287 additions and 36 deletions
|
|
@ -338,6 +338,27 @@ long proto2num(struct OperationConfig *config, long *val, const char *str)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the given string is a protocol supported by libcurl
|
||||
*
|
||||
* @param str the protocol name
|
||||
* @return PARAM_OK protocol supported
|
||||
* @return PARAM_LIBCURL_UNSUPPORTED_PROTOCOL protocol not supported
|
||||
* @return PARAM_REQUIRES_PARAMETER missing parameter
|
||||
*/
|
||||
int check_protocol(const char *str)
|
||||
{
|
||||
const char * const *pp;
|
||||
const curl_version_info_data *curlinfo = curl_version_info(CURLVERSION_NOW);
|
||||
if(!str)
|
||||
return PARAM_REQUIRES_PARAMETER;
|
||||
for(pp = curlinfo->protocols; *pp; pp++) {
|
||||
if(curlx_raw_equal(*pp, str))
|
||||
return PARAM_OK;
|
||||
}
|
||||
return PARAM_LIBCURL_UNSUPPORTED_PROTOCOL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the given string looking for an offset (which may be a
|
||||
* larger-than-integer value). The offset CANNOT be negative!
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue