PublicIP: add option --publicip-ipv6

This commit is contained in:
李通洲
2024-05-09 10:13:04 +08:00
parent 7eb145fb7f
commit acc77ebddd
8 changed files with 51 additions and 12 deletions
+1
View File
@@ -11,4 +11,5 @@ typedef struct FFPublicIpOptions
FFstrbuf url;
uint32_t timeout;
bool ipv6;
} FFPublicIpOptions;
+19
View File
@@ -59,6 +59,12 @@ bool ffParsePublicIpCommandOptions(FFPublicIpOptions* options, const char* key,
return true;
}
if (ffStrEqualsIgnCase(subKey, "ipv6"))
{
options->ipv6 = ffOptionParseBoolean(value);
return true;
}
return false;
}
@@ -87,6 +93,12 @@ void ffParsePublicIpJsonObject(FFPublicIpOptions* options, yyjson_val* module)
continue;
}
if (ffStrEqualsIgnCase(key, "ipv6"))
{
options->ipv6 = yyjson_get_bool(val);
continue;
}
ffPrintError(FF_PUBLICIP_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", key);
}
}
@@ -100,6 +112,12 @@ void ffGeneratePublicIpJsonConfig(FFPublicIpOptions* options, yyjson_mut_doc* do
if (!ffStrbufEqual(&options->url, &defaultOptions.url))
yyjson_mut_obj_add_strbuf(doc, module, "url", &options->url);
if (defaultOptions.timeout != options->timeout)
yyjson_mut_obj_add_uint(doc, module, "timeout", options->timeout);
if (defaultOptions.ipv6 != options->ipv6)
yyjson_mut_obj_add_bool(doc, module, "ipv6", options->ipv6);
}
void ffGeneratePublicIpJsonResult(FFPublicIpOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
@@ -148,6 +166,7 @@ void ffInitPublicIpOptions(FFPublicIpOptions* options)
ffStrbufInit(&options->url);
options->timeout = 0;
options->ipv6 = false;
}
void ffDestroyPublicIpOptions(FFPublicIpOptions* options)