Extension¶
CORS
¶
Initializes Cross Origin Resource sharing for the application. The
arguments are identical to cross_origin
, with the addition of a
resources
parameter. The resources parameter defines a series of regular
expressions for resource paths to match and optionally, the associated
options to be applied to the particular resource. These options are
identical to the arguments to cross_origin
.
The settings for CORS are determined in the following order
- Resource level settings (e.g when passed as a dictionary)
- Keyword argument settings
- App level configuration settings (e.g. CORS_*)
- Default settings
Note: as it is possible for multiple regular expressions to match a resource path, the regular expressions are first sorted by length, from longest to shortest, in order to attempt to match the most specific regular expression. This allows the definition of a number of specific resource options, with a wildcard fallback for all other resources.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
resources
|
dict, iterable | string
|
The series of regular expression and (optionally) associated CORS options to be applied to the given resource path. If the argument is a dictionary, it's keys must be regular expressions, and the values must be a dictionary of kwargs, identical to the kwargs of this function. If the argument is a list, it is expected to be a list of regular expressions, for which the app-wide configured options are applied. If the argument is a string, it is expected to be a regular expression for which the app-wide configured options are applied. Default : Match all and apply app-level configuration |
required |
origins
|
list, string | regex
|
The origin, or list of origins to allow requests from. The origin(s) may be regular expressions, case-sensitive strings, or else an asterisk. .. note:: origins must include the schema and the port (if not port 80), e.g., |
required |
methods
|
list | string
|
The method or list of methods which the allowed origins are allowed to access for non-simple requests. Default : [GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE] |
required |
expose_headers
|
list | string
|
The header or list which are safe to expose to the API of a CORS API specification. Default : None |
required |
allow_headers
|
list, string | regex
|
The header or list of header field names which can be used when this resource is accessed by allowed origins. The header(s) may be regular expressions, case-sensitive strings, or else an asterisk. Default : '*', allow all headers |
required |
supports_credentials
|
bool
|
Allows users to make authenticated requests. If true, injects the |
required |
max_age
|
timedelta, integer, string | None
|
The maximum time for which this CORS request maybe cached. This value is set as the |
required |
send_wildcard
|
bool
|
If True, and the origins parameter is |
required |
vary_header
|
bool
|
If True, the header Vary: Origin will be returned as per the W3 implementation guidelines. Setting this header when the |
required |
allow_private_network
|
bool
|
If True, the response header |
required |
Source code in flask_cors/extension.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
|