diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2015-01-23 12:45:51 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2015-01-23 13:08:19 +0200 |
commit | 0ed8a2275a3a6cda553b82e9e0222b9d3b8b3ff2 (patch) | |
tree | 2b617611ddeb6f97d9f316750496ac13c5ce59ad /lib/libeclat.h | |
parent | b1824338b366e25756e4c64f04e535684529832d (diff) | |
download | eclat-0ed8a2275a3a6cda553b82e9e0222b9d3b8b3ff2.tar.gz eclat-0ed8a2275a3a6cda553b82e9e0222b9d3b8b3ff2.tar.bz2 |
Implement HTTP POST
* NEWS: Update.
* doc/eclat.conf.5: Document http-method. Reorganize description of
endpoints and regions.
* lib/libeclat.h (ec2_request) <postdata>: New member
(eclat_request_finalize): New proto.
* lib/req2url.c (eclat_request_to_url): Remove second argument.
All uses changed.
(eclat_request_finalize): New function.
* lib/reqfree.c: Free postdata.
* lib/reqsign.c (requestsign4): Implement post.
* src/config.c: New configuration statement http-method.
* src/eclat.c (use_post): New variable.
* src/eclat.h (use_post): New extern.
* src/util.c (eclat_send_request): Implement post.
Diffstat (limited to 'lib/libeclat.h')
-rw-r--r-- | lib/libeclat.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/libeclat.h b/lib/libeclat.h index a5c8c79..b33f0a2 100644 --- a/lib/libeclat.h +++ b/lib/libeclat.h @@ -94,6 +94,7 @@ struct ec2_request { char *uri; /* URI without parameters */ struct grecs_symtab *params; /* Query parameters */ struct grecs_list *headers; /* Query headers */ + char *postdata; char *region; char *access_key; char *token; @@ -104,18 +105,19 @@ struct ec2_request *eclat_request_create(int flags, const char *endpoint, const char *uri, char const *region, char const *access_key, char const *token); void eclat_request_free(struct ec2_request *); -void eclat_request_add_param(struct ec2_request *q, const char *name, +void eclat_request_add_param(struct ec2_request *req, const char *name, const char *value); -void eclat_request_add_param_encoded(struct ec2_request *q, const char *name, +void eclat_request_add_param_encoded(struct ec2_request *req, const char *name, const char *value); -void eclat_request_add_header(struct ec2_request *q, const char *name, +void eclat_request_add_header(struct ec2_request *req, const char *name, const char *value); void eclat_request_sign(struct ec2_request *req, char *secret, char *version); -char *eclat_request_to_url(struct ec2_request *req, char **post_params); +char *eclat_request_to_url(struct ec2_request *req); -void eclat_request_encode(struct ec2_request *q); +void eclat_request_encode(struct ec2_request *req); +void eclat_request_finalize(struct ec2_request *req); typedef struct eclat_partial_tree *eclat_partial_tree_t; |