|
10 | 10 | #include <aws/common/array_list.h> |
11 | 11 | #include <aws/common/atomics.h> |
12 | 12 | #include <aws/common/linked_list.h> |
| 13 | +#include <aws/http/proxy.h> |
13 | 14 | #include <aws/io/io.h> |
14 | 15 |
|
15 | 16 | AWS_PUSH_SANE_WARNING_LEVEL |
@@ -224,6 +225,12 @@ struct aws_credentials_provider_imds_options { |
224 | 225 |
|
225 | 226 | /* For mocking the http layer in tests, leave NULL otherwise */ |
226 | 227 | struct aws_auth_http_system_vtable *function_table; |
| 228 | + |
| 229 | + /* |
| 230 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 231 | + * aws_http_credentials_provider.h for more information. |
| 232 | + */ |
| 233 | + const struct proxy_env_var_settings *proxy_ev_settings; |
227 | 234 | }; |
228 | 235 |
|
229 | 236 | /* |
@@ -259,6 +266,12 @@ struct aws_credentials_provider_ecs_environment_options { |
259 | 266 | */ |
260 | 267 | struct aws_tls_ctx *tls_ctx; |
261 | 268 |
|
| 269 | + /* |
| 270 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 271 | + * aws_http_credentials_provider.h for more information. |
| 272 | + */ |
| 273 | + const struct proxy_env_var_settings *proxy_ev_settings; |
| 274 | + |
262 | 275 | /* For mocking the http layer in tests, leave NULL otherwise */ |
263 | 276 | struct aws_auth_http_system_vtable *function_table; |
264 | 277 | }; |
@@ -310,6 +323,12 @@ struct aws_credentials_provider_ecs_options { |
310 | 323 | */ |
311 | 324 | struct aws_tls_ctx *tls_ctx; |
312 | 325 |
|
| 326 | + /* |
| 327 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 328 | + * aws_http_credentials_provider.h for more information. |
| 329 | + */ |
| 330 | + const struct proxy_env_var_settings *proxy_ev_settings; |
| 331 | + |
313 | 332 | /* For mocking the http layer in tests, leave NULL otherwise */ |
314 | 333 | struct aws_auth_http_system_vtable *function_table; |
315 | 334 |
|
@@ -354,6 +373,12 @@ struct aws_credentials_provider_x509_options { |
354 | 373 | */ |
355 | 374 | const struct aws_http_proxy_options *proxy_options; |
356 | 375 |
|
| 376 | + /** |
| 377 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 378 | + * aws_http_credentials_provider.h for more information. |
| 379 | + */ |
| 380 | + const struct proxy_env_var_settings *proxy_ev_settings; |
| 381 | + |
357 | 382 | /* For mocking the http layer in tests, leave NULL otherwise */ |
358 | 383 | struct aws_auth_http_system_vtable *function_table; |
359 | 384 | }; |
@@ -401,6 +426,12 @@ struct aws_credentials_provider_sts_web_identity_options { |
401 | 426 | */ |
402 | 427 | struct aws_tls_ctx *tls_ctx; |
403 | 428 |
|
| 429 | + /* |
| 430 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 431 | + * aws_http_credentials_provider.h for more information. |
| 432 | + */ |
| 433 | + const struct proxy_env_var_settings *proxy_ev_settings; |
| 434 | + |
404 | 435 | /* For mocking the http layer in tests, leave NULL otherwise */ |
405 | 436 | struct aws_auth_http_system_vtable *function_table; |
406 | 437 |
|
@@ -470,6 +501,12 @@ struct aws_credentials_provider_sso_options { |
470 | 501 | */ |
471 | 502 | struct aws_tls_ctx *tls_ctx; |
472 | 503 |
|
| 504 | + /* |
| 505 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 506 | + * aws_http_credentials_provider.h for more information. |
| 507 | + */ |
| 508 | + const struct proxy_env_var_settings *proxy_ev_settings; |
| 509 | + |
473 | 510 | /* For mocking, leave NULL otherwise */ |
474 | 511 | struct aws_auth_http_system_vtable *function_table; |
475 | 512 | aws_io_clock_fn *system_clock_fn; |
@@ -525,6 +562,12 @@ struct aws_credentials_provider_sts_options { |
525 | 562 | */ |
526 | 563 | const struct aws_http_proxy_options *http_proxy_options; |
527 | 564 |
|
| 565 | + /** |
| 566 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 567 | + * aws_http_credentials_provider.h for more information. |
| 568 | + */ |
| 569 | + const struct proxy_env_var_settings *proxy_ev_settings; |
| 570 | + |
528 | 571 | /** |
529 | 572 | * (Optional) |
530 | 573 | * Uses a cached config file profile collection (~/.aws/config). You can also pass a merged profile collection, |
@@ -628,6 +671,12 @@ struct aws_credentials_provider_chain_default_options { |
628 | 671 | * If enabled, the Environment Credentials Provider is not added to the chain. |
629 | 672 | */ |
630 | 673 | bool skip_environment_credentials_provider; |
| 674 | + |
| 675 | + /* |
| 676 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 677 | + * aws_http_credentials_provider.h for more information. |
| 678 | + */ |
| 679 | + const struct proxy_env_var_settings *proxy_ev_settings; |
631 | 680 | }; |
632 | 681 |
|
633 | 682 | typedef int(aws_credentials_provider_delegate_get_credentials_fn)( |
@@ -722,6 +771,12 @@ struct aws_credentials_provider_cognito_options { |
722 | 771 | */ |
723 | 772 | const struct aws_http_proxy_options *http_proxy_options; |
724 | 773 |
|
| 774 | + /** |
| 775 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 776 | + * aws_http_credentials_provider.h for more information. |
| 777 | + */ |
| 778 | + const struct proxy_env_var_settings *proxy_ev_settings; |
| 779 | + |
725 | 780 | /* For mocking the http layer in tests, leave NULL otherwise */ |
726 | 781 | struct aws_auth_http_system_vtable *function_table; |
727 | 782 |
|
@@ -795,6 +850,12 @@ struct aws_credentials_provider_login_options { |
795 | 850 | */ |
796 | 851 | struct aws_tls_ctx *tls_ctx; |
797 | 852 |
|
| 853 | + /* |
| 854 | + * (Optional) Settings propagated down to http connection manager to choose proxy options from environment. Read |
| 855 | + * aws_http_credentials_provider.h for more information. |
| 856 | + */ |
| 857 | + const struct proxy_env_var_settings *proxy_ev_settings; |
| 858 | + |
798 | 859 | /* For mocking, leave NULL otherwise */ |
799 | 860 | struct aws_auth_http_system_vtable *function_table; |
800 | 861 | aws_io_clock_fn *system_clock_fn; |
|
0 commit comments