281 lines
13 KiB
Diff
281 lines
13 KiB
Diff
From aaf66e9174eb04d2df1f45530ebdca16e77a6ec5 Mon Sep 17 00:00:00 2001
|
|
From: Lubomir Rintel <lkundrak@v3.sk>
|
|
Date: Mon, 27 Feb 2023 00:13:31 +0100
|
|
Subject: [PATCH 4/6] cloud-setup: make nm_http_client_req() accept a method
|
|
argument
|
|
|
|
We'll need to be able to issue PUT calls.
|
|
|
|
(cherry picked from commit cd74d75002783a79d1a4fca24b2fbe99ced933a8)
|
|
(cherry picked from commit eff4372045290ad380bddf03e5075ab671a7cff6)
|
|
---
|
|
src/nm-cloud-setup/nm-http-client.c | 7 +++++++
|
|
src/nm-cloud-setup/nm-http-client.h | 1 +
|
|
src/nm-cloud-setup/nmcs-provider-aliyun.c | 7 +++++++
|
|
src/nm-cloud-setup/nmcs-provider-azure.c | 7 +++++++
|
|
src/nm-cloud-setup/nmcs-provider-ec2.c | 4 ++++
|
|
src/nm-cloud-setup/nmcs-provider-gcp.c | 5 +++++
|
|
6 files changed, 31 insertions(+)
|
|
|
|
diff --git a/src/nm-cloud-setup/nm-http-client.c b/src/nm-cloud-setup/nm-http-client.c
|
|
index ed7914df8f..b3db93e058 100644
|
|
--- a/src/nm-cloud-setup/nm-http-client.c
|
|
+++ b/src/nm-cloud-setup/nm-http-client.c
|
|
@@ -262,6 +262,7 @@ nm_http_client_req(NMHttpClient *self,
|
|
int timeout_msec,
|
|
gssize max_data,
|
|
const char *const *http_headers,
|
|
+ const char *http_method,
|
|
GCancellable *cancellable,
|
|
GAsyncReadyCallback callback,
|
|
gpointer user_data)
|
|
@@ -328,6 +329,9 @@ nm_http_client_req(NMHttpClient *self,
|
|
curl_easy_setopt(edata->ehandle, CURLOPT_HTTPHEADER, edata->headers);
|
|
}
|
|
|
|
+ if (http_method)
|
|
+ curl_easy_setopt(edata->ehandle, CURLOPT_CUSTOMREQUEST, http_method);
|
|
+
|
|
if (timeout_msec > 0) {
|
|
edata->timeout_source = _source_attach(self,
|
|
nm_g_timeout_source_new(timeout_msec,
|
|
@@ -403,6 +407,7 @@ typedef struct {
|
|
GTask *task;
|
|
char *uri;
|
|
const char *const *http_headers;
|
|
+ const char *http_method;
|
|
NMHttpClientPollReqCheckFcn check_fcn;
|
|
gpointer check_user_data;
|
|
GBytes *response_data;
|
|
@@ -440,6 +445,7 @@ _poll_req_probe_start_fcn(GCancellable *cancellable,
|
|
poll_req_data->request_timeout_ms,
|
|
poll_req_data->request_max_data,
|
|
poll_req_data->http_headers,
|
|
+ poll_req_data->http_method,
|
|
cancellable,
|
|
callback,
|
|
user_data);
|
|
@@ -526,6 +532,7 @@ nm_http_client_poll_req(NMHttpClient *self,
|
|
int poll_timeout_ms,
|
|
int ratelimit_timeout_ms,
|
|
const char *const *http_headers,
|
|
+ const char *http_method,
|
|
GCancellable *cancellable,
|
|
NMHttpClientPollReqCheckFcn check_fcn,
|
|
gpointer check_user_data,
|
|
diff --git a/src/nm-cloud-setup/nm-http-client.h b/src/nm-cloud-setup/nm-http-client.h
|
|
index c8d3ffb458..641efb1f47 100644
|
|
--- a/src/nm-cloud-setup/nm-http-client.h
|
|
+++ b/src/nm-cloud-setup/nm-http-client.h
|
|
@@ -39,6 +39,7 @@ void nm_http_client_poll_req(NMHttpClient *self,
|
|
int poll_timeout_ms,
|
|
int ratelimit_timeout_ms,
|
|
const char *const *http_headers,
|
|
+ const char *http_method,
|
|
GCancellable *cancellable,
|
|
NMHttpClientPollReqCheckFcn check_fcn,
|
|
gpointer check_user_data,
|
|
diff --git a/src/nm-cloud-setup/nmcs-provider-aliyun.c b/src/nm-cloud-setup/nmcs-provider-aliyun.c
|
|
index 93f26e7505..0500922058 100644
|
|
--- a/src/nm-cloud-setup/nmcs-provider-aliyun.c
|
|
+++ b/src/nm-cloud-setup/nmcs-provider-aliyun.c
|
|
@@ -111,6 +111,7 @@ detect(NMCSProvider *provider, GTask *task)
|
|
7000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
g_task_get_cancellable(task),
|
|
NULL,
|
|
NULL,
|
|
@@ -372,6 +373,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us
|
|
10000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -389,6 +391,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us
|
|
10000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -406,6 +409,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us
|
|
10000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -423,6 +427,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us
|
|
10000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -440,6 +445,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us
|
|
10000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -537,6 +543,7 @@ get_config(NMCSProvider *provider, NMCSProviderGetConfigTaskData *get_config_dat
|
|
15000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
_get_config_metadata_ready_check,
|
|
get_config_data,
|
|
diff --git a/src/nm-cloud-setup/nmcs-provider-azure.c b/src/nm-cloud-setup/nmcs-provider-azure.c
|
|
index b1f48f5c18..e74d042026 100644
|
|
--- a/src/nm-cloud-setup/nmcs-provider-azure.c
|
|
+++ b/src/nm-cloud-setup/nmcs-provider-azure.c
|
|
@@ -76,6 +76,7 @@ detect(NMCSProvider *provider, GTask *task)
|
|
7000,
|
|
1000,
|
|
NM_MAKE_STRV(NM_AZURE_METADATA_HEADER),
|
|
+ NULL,
|
|
g_task_get_cancellable(task),
|
|
NULL,
|
|
NULL,
|
|
@@ -294,6 +295,7 @@ _get_config_ips_prefix_list_cb(GObject *source, GAsyncResult *result, gpointer u
|
|
10000,
|
|
1000,
|
|
NM_MAKE_STRV(NM_AZURE_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -316,6 +318,7 @@ _get_config_ips_prefix_list_cb(GObject *source, GAsyncResult *result, gpointer u
|
|
10000,
|
|
1000,
|
|
NM_MAKE_STRV(NM_AZURE_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -333,6 +336,7 @@ _get_config_ips_prefix_list_cb(GObject *source, GAsyncResult *result, gpointer u
|
|
10000,
|
|
1000,
|
|
NM_MAKE_STRV(NM_AZURE_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -415,6 +419,7 @@ _get_config_iface_cb(GObject *source, GAsyncResult *result, gpointer user_data)
|
|
10000,
|
|
1000,
|
|
NM_MAKE_STRV(NM_AZURE_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -515,6 +520,7 @@ _get_net_ifaces_list_cb(GObject *source, GAsyncResult *result, gpointer user_dat
|
|
10000,
|
|
1000,
|
|
NM_MAKE_STRV(NM_AZURE_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -538,6 +544,7 @@ get_config(NMCSProvider *provider, NMCSProviderGetConfigTaskData *get_config_dat
|
|
15000,
|
|
1000,
|
|
NM_MAKE_STRV(NM_AZURE_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
diff --git a/src/nm-cloud-setup/nmcs-provider-ec2.c b/src/nm-cloud-setup/nmcs-provider-ec2.c
|
|
index 35f7176c4d..c3c527cfd4 100644
|
|
--- a/src/nm-cloud-setup/nmcs-provider-ec2.c
|
|
+++ b/src/nm-cloud-setup/nmcs-provider-ec2.c
|
|
@@ -106,6 +106,7 @@ detect(NMCSProvider *provider, GTask *task)
|
|
7000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
g_task_get_cancellable(task),
|
|
_detect_get_meta_data_check_cb,
|
|
NULL,
|
|
@@ -264,6 +265,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us
|
|
10000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -281,6 +283,7 @@ _get_config_metadata_ready_cb(GObject *source, GAsyncResult *result, gpointer us
|
|
10000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -378,6 +381,7 @@ get_config(NMCSProvider *provider, NMCSProviderGetConfigTaskData *get_config_dat
|
|
15000,
|
|
1000,
|
|
NULL,
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
_get_config_metadata_ready_check,
|
|
get_config_data,
|
|
diff --git a/src/nm-cloud-setup/nmcs-provider-gcp.c b/src/nm-cloud-setup/nmcs-provider-gcp.c
|
|
index 571c0fb826..ca354865dd 100644
|
|
--- a/src/nm-cloud-setup/nmcs-provider-gcp.c
|
|
+++ b/src/nm-cloud-setup/nmcs-provider-gcp.c
|
|
@@ -79,6 +79,7 @@ detect(NMCSProvider *provider, GTask *task)
|
|
7000,
|
|
1000,
|
|
NM_MAKE_STRV(NM_GCP_METADATA_HEADER),
|
|
+ NULL,
|
|
g_task_get_cancellable(task),
|
|
NULL,
|
|
NULL,
|
|
@@ -227,6 +228,7 @@ _get_config_ips_list_cb(GObject *source, GAsyncResult *result, gpointer user_dat
|
|
HTTP_POLL_TIMEOUT_MS,
|
|
HTTP_RATE_LIMIT_MS,
|
|
NM_MAKE_STRV(NM_GCP_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -313,6 +315,7 @@ _get_config_iface_cb(GObject *source, GAsyncResult *result, gpointer user_data)
|
|
HTTP_POLL_TIMEOUT_MS,
|
|
HTTP_RATE_LIMIT_MS,
|
|
NM_MAKE_STRV(NM_GCP_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -412,6 +415,7 @@ _get_net_ifaces_list_cb(GObject *source, GAsyncResult *result, gpointer user_dat
|
|
HTTP_POLL_TIMEOUT_MS,
|
|
HTTP_RATE_LIMIT_MS,
|
|
NM_MAKE_STRV(NM_GCP_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
@@ -435,6 +439,7 @@ get_config(NMCSProvider *provider, NMCSProviderGetConfigTaskData *get_config_dat
|
|
HTTP_POLL_TIMEOUT_MS,
|
|
HTTP_RATE_LIMIT_MS,
|
|
NM_MAKE_STRV(NM_GCP_METADATA_HEADER),
|
|
+ NULL,
|
|
get_config_data->intern_cancellable,
|
|
NULL,
|
|
NULL,
|
|
--
|
|
2.39.2
|
|
|