Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
deps/uhttp/inc/azure_uhttp_c/uhttp.h@0:f7f1f0d76dd6, 2018-08-23 (annotated)
- Committer:
- XinZhangMS
- Date:
- Thu Aug 23 06:52:14 2018 +0000
- Revision:
- 0:f7f1f0d76dd6
azure-c-sdk for mbed os supporting NUCLEO_F767ZI
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| XinZhangMS | 0:f7f1f0d76dd6 | 1 | // Copyright (c) Microsoft. All rights reserved. |
| XinZhangMS | 0:f7f1f0d76dd6 | 2 | // Licensed under the MIT license. See LICENSE file in the project root for full license information. |
| XinZhangMS | 0:f7f1f0d76dd6 | 3 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 4 | #ifndef UHTTP_H |
| XinZhangMS | 0:f7f1f0d76dd6 | 5 | #define UHTTP_H |
| XinZhangMS | 0:f7f1f0d76dd6 | 6 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 7 | #ifdef __cplusplus |
| XinZhangMS | 0:f7f1f0d76dd6 | 8 | extern "C" { |
| XinZhangMS | 0:f7f1f0d76dd6 | 9 | #include <cstddef> |
| XinZhangMS | 0:f7f1f0d76dd6 | 10 | #else |
| XinZhangMS | 0:f7f1f0d76dd6 | 11 | #include <stddef.h> |
| XinZhangMS | 0:f7f1f0d76dd6 | 12 | #include <stdbool.h> |
| XinZhangMS | 0:f7f1f0d76dd6 | 13 | #endif /* __cplusplus */ |
| XinZhangMS | 0:f7f1f0d76dd6 | 14 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 15 | #include "azure_c_shared_utility/httpheaders.h" |
| XinZhangMS | 0:f7f1f0d76dd6 | 16 | #include "azure_c_shared_utility/macro_utils.h" |
| XinZhangMS | 0:f7f1f0d76dd6 | 17 | #include "azure_c_shared_utility/xio.h" |
| XinZhangMS | 0:f7f1f0d76dd6 | 18 | #include "azure_c_shared_utility/umock_c_prod.h" |
| XinZhangMS | 0:f7f1f0d76dd6 | 19 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 20 | typedef struct HTTP_CLIENT_HANDLE_DATA_TAG* HTTP_CLIENT_HANDLE; |
| XinZhangMS | 0:f7f1f0d76dd6 | 21 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 22 | #define HTTP_CLIENT_RESULT_VALUES \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 23 | HTTP_CLIENT_OK, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 24 | HTTP_CLIENT_INVALID_ARG, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 25 | HTTP_CLIENT_ERROR, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 26 | HTTP_CLIENT_OPEN_FAILED, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 27 | HTTP_CLIENT_SEND_FAILED, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 28 | HTTP_CLIENT_ALREADY_INIT, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 29 | HTTP_CLIENT_HTTP_HEADERS_FAILED, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 30 | HTTP_CLIENT_INVALID_STATE \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 31 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 32 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 33 | /** @brief Enumeration specifying the possible return values for the APIs in |
| XinZhangMS | 0:f7f1f0d76dd6 | 34 | * this module. |
| XinZhangMS | 0:f7f1f0d76dd6 | 35 | */ |
| XinZhangMS | 0:f7f1f0d76dd6 | 36 | DEFINE_ENUM(HTTP_CLIENT_RESULT, HTTP_CLIENT_RESULT_VALUES); |
| XinZhangMS | 0:f7f1f0d76dd6 | 37 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 38 | #define HTTP_CLIENT_REQUEST_TYPE_VALUES \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 39 | HTTP_CLIENT_REQUEST_OPTIONS, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 40 | HTTP_CLIENT_REQUEST_GET, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 41 | HTTP_CLIENT_REQUEST_POST, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 42 | HTTP_CLIENT_REQUEST_PUT, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 43 | HTTP_CLIENT_REQUEST_DELETE, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 44 | HTTP_CLIENT_REQUEST_PATCH |
| XinZhangMS | 0:f7f1f0d76dd6 | 45 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 46 | DEFINE_ENUM(HTTP_CLIENT_REQUEST_TYPE, HTTP_CLIENT_REQUEST_TYPE_VALUES); |
| XinZhangMS | 0:f7f1f0d76dd6 | 47 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 48 | #define HTTP_CALLBACK_REASON_VALUES \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 49 | HTTP_CALLBACK_REASON_OK, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 50 | HTTP_CALLBACK_REASON_OPEN_FAILED, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 51 | HTTP_CALLBACK_REASON_SEND_FAILED, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 52 | HTTP_CALLBACK_REASON_ERROR, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 53 | HTTP_CALLBACK_REASON_PARSING_ERROR, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 54 | HTTP_CALLBACK_REASON_DESTROY, \ |
| XinZhangMS | 0:f7f1f0d76dd6 | 55 | HTTP_CALLBACK_REASON_DISCONNECTED |
| XinZhangMS | 0:f7f1f0d76dd6 | 56 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 57 | DEFINE_ENUM(HTTP_CALLBACK_REASON, HTTP_CALLBACK_REASON_VALUES); |
| XinZhangMS | 0:f7f1f0d76dd6 | 58 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 59 | typedef void(*ON_HTTP_OPEN_COMPLETE_CALLBACK)(void* callback_ctx, HTTP_CALLBACK_REASON open_result); |
| XinZhangMS | 0:f7f1f0d76dd6 | 60 | typedef void(*ON_HTTP_ERROR_CALLBACK)(void* callback_ctx, HTTP_CALLBACK_REASON error_result); |
| XinZhangMS | 0:f7f1f0d76dd6 | 61 | typedef void(*ON_HTTP_REQUEST_CALLBACK)(void* callback_ctx, HTTP_CALLBACK_REASON request_result, const unsigned char* content, size_t content_length, unsigned int status_code, |
| XinZhangMS | 0:f7f1f0d76dd6 | 62 | HTTP_HEADERS_HANDLE response_headers); |
| XinZhangMS | 0:f7f1f0d76dd6 | 63 | typedef void(*ON_HTTP_CLOSED_CALLBACK)(void* callback_ctx); |
| XinZhangMS | 0:f7f1f0d76dd6 | 64 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 65 | MOCKABLE_FUNCTION(, HTTP_CLIENT_HANDLE, uhttp_client_create, const IO_INTERFACE_DESCRIPTION*, io_interface_desc, const void*, xio_param, ON_HTTP_ERROR_CALLBACK, on_http_error, void*, callback_ctx); |
| XinZhangMS | 0:f7f1f0d76dd6 | 66 | MOCKABLE_FUNCTION(, void, uhttp_client_destroy, HTTP_CLIENT_HANDLE, handle); |
| XinZhangMS | 0:f7f1f0d76dd6 | 67 | MOCKABLE_FUNCTION(, HTTP_CLIENT_RESULT, uhttp_client_open, HTTP_CLIENT_HANDLE, handle, const char*, host, int, port_num, ON_HTTP_OPEN_COMPLETE_CALLBACK, on_connect, void*, callback_ctx); |
| XinZhangMS | 0:f7f1f0d76dd6 | 68 | MOCKABLE_FUNCTION(, void, uhttp_client_close, HTTP_CLIENT_HANDLE, handle, ON_HTTP_CLOSED_CALLBACK, on_close_callback, void*, callback_ctx); |
| XinZhangMS | 0:f7f1f0d76dd6 | 69 | MOCKABLE_FUNCTION(, HTTP_CLIENT_RESULT, uhttp_client_execute_request, HTTP_CLIENT_HANDLE, handle, HTTP_CLIENT_REQUEST_TYPE, request_type, const char*, relative_path, |
| XinZhangMS | 0:f7f1f0d76dd6 | 70 | HTTP_HEADERS_HANDLE, http_header_handle, const unsigned char*, content, size_t, content_length, ON_HTTP_REQUEST_CALLBACK, on_request_callback, void*, callback_ctx); |
| XinZhangMS | 0:f7f1f0d76dd6 | 71 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 72 | MOCKABLE_FUNCTION(, void, uhttp_client_dowork, HTTP_CLIENT_HANDLE, handle); |
| XinZhangMS | 0:f7f1f0d76dd6 | 73 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 74 | MOCKABLE_FUNCTION(, HTTP_CLIENT_RESULT, uhttp_client_set_trace, HTTP_CLIENT_HANDLE, handle, bool, trace_on, bool, trace_data); |
| XinZhangMS | 0:f7f1f0d76dd6 | 75 | MOCKABLE_FUNCTION(, HTTP_CLIENT_RESULT, uhttp_client_set_X509_cert, HTTP_CLIENT_HANDLE, handle, bool, ecc_type, const char*, certificate, const char*, private_key); |
| XinZhangMS | 0:f7f1f0d76dd6 | 76 | MOCKABLE_FUNCTION(, HTTP_CLIENT_RESULT, uhttp_client_set_trusted_cert, HTTP_CLIENT_HANDLE, handle, const char*, certificate); |
| XinZhangMS | 0:f7f1f0d76dd6 | 77 | MOCKABLE_FUNCTION(, const char*, uhttp_client_get_trusted_cert, HTTP_CLIENT_HANDLE, handle); |
| XinZhangMS | 0:f7f1f0d76dd6 | 78 | MOCKABLE_FUNCTION(, HTTP_CLIENT_RESULT, uhttp_client_set_option, HTTP_CLIENT_HANDLE, handle, const char*, optionName, const void*, value); |
| XinZhangMS | 0:f7f1f0d76dd6 | 79 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 80 | #ifdef __cplusplus |
| XinZhangMS | 0:f7f1f0d76dd6 | 81 | } |
| XinZhangMS | 0:f7f1f0d76dd6 | 82 | #endif /* __cplusplus */ |
| XinZhangMS | 0:f7f1f0d76dd6 | 83 | |
| XinZhangMS | 0:f7f1f0d76dd6 | 84 | #endif /* UHTTP_H */ |