mirror of
https://github.com/apple/pkl.git
synced 2026-05-25 16:19:20 +02:00
Improve HTTP headers logic (#1584)
* Relax forbidden headers constraints - remove restriction on browser-related headers - allow any glob pattern (no need to end with `/` or `*`, because glob patterns already require users to explicitly declare prefix matches if that's the intention) * Replace `List<Pair<, ...>>`; use `Map<String, ...>` instead * Use glob pattern strings as an API throughout, instead of `Pattern` (e.g. in `HttpClientBuilder`) * Add HTTP headers to message passing API * Add HTTP headers to executor API (introduces `ExecutorSpiOptions4`) * Add tests for Gradle, CLI, and pkl-executor invocations * Improve documentation * Add `isGlobPattern` API to class `String` for in-language validation of http headers * Behavior change: make sure explicitly configured `User-Agent` in `HttpClientBuilder` can be shadowed by headers (allows users to set `--http-header "**=User-Agent: My User Agent"` and for this to be the only user agent). CC @kyokuping
This commit is contained in:
@@ -1323,6 +1323,13 @@ external class String extends Any {
|
||||
/// Tells if this string is a valid regular expression according to [Regex].
|
||||
external isRegex: Boolean
|
||||
|
||||
/// Tells if this string is a valid glob pattern.
|
||||
///
|
||||
/// For reference, see
|
||||
/// <https://pkl-lang.org/main/current/language-reference/index.html#glob-patterns>.
|
||||
@Since { version = "0.32.0" }
|
||||
external isGlobPattern: Boolean
|
||||
|
||||
/// Tells if this is a valid base64-encoded string.
|
||||
///
|
||||
/// Facts:
|
||||
|
||||
Reference in New Issue
Block a user