<para>Include header information in the result
(boolean)</para>
</enum>
+ <enum name="httpauth">
+ <para>Type of authentication method to use. The default is Basic Authentication.</para>
+ <para>Multiple values can be specified to enable multiple authentication methods.
+ To do so, invoke CURLOPT once using comma-separated values.</para>
+ <enumlist>
+ <enum name="basic" />
+ <enum name="digest" />
+ </enumlist>
+ </enum>
<enum name="httpheader">
<para>Add HTTP header. Multiple calls add multiple headers.
Setting of any header will remove the default
} else if (!strcasecmp(name, "httpheader")) {
*key = CURLOPT_HTTPHEADER;
*ot = OT_STRING;
+ } else if (!strcasecmp(name, "httpauth")) {
+ *key = CURLOPT_HTTPAUTH;
+ *ot = OT_ENUM;
} else if (!strcasecmp(name, "proxy")) {
*key = CURLOPT_PROXY;
*ot = OT_STRING;
if ((new = ast_calloc(1, sizeof(*new)))) {
new->value = (void *)ptype;
}
+ } else if (key == CURLOPT_HTTPAUTH) {
+ long authtype = 0;
+ char *authmethod, *authstr = ast_strdupa(value);
+ while ((authmethod = strsep(&authstr, ","))) {
+ if (!strcasecmp(authmethod, "basic")) {
+ authtype |= CURLAUTH_BASIC;
+ } else if (!strcasecmp(authmethod, "digest")) {
+ authtype |= CURLAUTH_DIGEST;
+ } else {
+ ast_log(LOG_WARNING, "Auth method '%s' invalid or not supported\n", authmethod);
+ return -1;
+ }
+ }
+ if (!authmethod) {
+ ast_log(LOG_WARNING, "Auth method '%s' invalid or not supported\n", value);
+ }
+ if ((new = ast_calloc(1, sizeof(*new)))) {
+ new->value = (void *)authtype;
+ }
} else if (key == CURLOPT_SPECIAL_HASHCOMPAT) {
if ((new = ast_calloc(1, sizeof(*new)))) {
new->value = (void *) (long) (!strcasecmp(value, "legacy") ? HASHCOMPAT_LEGACY : ast_true(value) ? HASHCOMPAT_YES : HASHCOMPAT_NO);