File: no_proxy.h

package info (click to toggle)
aws-crt-python 0.28.4%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 78,428 kB
  • sloc: ansic: 437,955; python: 27,657; makefile: 5,855; sh: 4,289; ruby: 208; java: 82; perl: 73; cpp: 25; xml: 11
file content (33 lines) | stat: -rw-r--r-- 1,093 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef AWS_NO_PROXY_H
#define AWS_NO_PROXY_H

/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
#include <aws/http/http.h>
AWS_PUSH_SANE_WARNING_LEVEL
AWS_EXTERN_C_BEGIN

/*
 * Check if a host should bypass the proxy based on the NO_PROXY environment variable or provided no_proxy value.
 * Since NO_PROXY has no standard yet. Follows the curl implementation from noproxy.c at 8.14.1.
 * https://github.com/curl/curl/blob/curl-8_14_1/lib/noproxy.c
 *
 * NO_PROXY is a comma-separated list of domain names, hostnames, or IP addresses that
 * should bypass the proxy.
 *
 * If no_proxy is NULL, the function will read the NO_PROXY environment variable.
 * If no_proxy is provided, it will be used instead of the environment variable.
 *
 * Returns true if the host should bypass the proxy.
 */
AWS_HTTP_API bool aws_http_host_matches_no_proxy(
    struct aws_allocator *allocator,
    struct aws_byte_cursor host,
    struct aws_string *no_proxy_str);

AWS_EXTERN_C_END
AWS_POP_SANE_WARNING_LEVEL

#endif /* AWS_NO_PROXY_H */