[PR #1196] Add support for customizing HTTP headers #936

Open
opened 2025-12-30 01:27:50 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/apple/pkl/pull/1196
Author: @kyokuping
Created: 8/31/2025
Status: 🔄 Open

Base: mainHead: feat/headers


📝 Commits (6)

  • 7040eb7 Add support for customizing HTTP headers
  • cd0ee32 Allow customizing headers for different URLs
  • 2ea4c7e add @Since annotation in pkl option
  • 9986823 validate header syntax
  • fc46610 Rename HttpRewrite to HttpPrefix for clarity
  • e8ea9f6 Add strict HTTP header validation to EvaluatorSettings

📊 Changes

12 files changed (+221 additions, -13 deletions)

View changed files

📝 pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/CliBaseOptions.kt (+4 -0)
📝 pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/CliCommand.kt (+5 -0)
📝 pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/commands/BaseOptions.kt (+55 -0)
📝 pkl-core/src/main/java/org/pkl/core/evaluatorSettings/PklEvaluatorSettings.java (+38 -7)
📝 pkl-core/src/main/java/org/pkl/core/http/HttpClient.java (+9 -0)
📝 pkl-core/src/main/java/org/pkl/core/http/HttpClientBuilder.java (+10 -1)
📝 pkl-core/src/main/java/org/pkl/core/http/JdkHttpClient.java (+17 -3)
📝 pkl-core/src/main/resources/org/pkl/core/errorMessages.properties (+6 -0)
📝 pkl-core/src/test/kotlin/org/pkl/core/settings/PklSettingsTest.kt (+9 -0)
📝 pkl-gradle/src/main/java/org/pkl/gradle/task/BasePklTask.java (+6 -0)
📝 pkl-gradle/src/main/java/org/pkl/gradle/task/ModulesTask.java (+1 -0)
📝 stdlib/EvaluatorSettings.pkl (+61 -2)

📄 Description

This PR adds support for custom HTTP headers, introducing a --http-header CLI flag to accept key=value pairs. These headers can also be specified within the setting.pkl file.

Closes #633


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/apple/pkl/pull/1196 **Author:** [@kyokuping](https://github.com/kyokuping) **Created:** 8/31/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat/headers` --- ### 📝 Commits (6) - [`7040eb7`](https://github.com/apple/pkl/commit/7040eb7a8263215a1ed22f25423108ff05db1d27) Add support for customizing HTTP headers - [`cd0ee32`](https://github.com/apple/pkl/commit/cd0ee32a1550be97b52f82f56ca24f1c2277ec36) Allow customizing headers for different URLs - [`2ea4c7e`](https://github.com/apple/pkl/commit/2ea4c7e836f5545184c884b9bf30d568570be3da) add `@Since` annotation in pkl option - [`9986823`](https://github.com/apple/pkl/commit/99868235f030d365c42f929cc7fbaf079ddd9898) validate `header` syntax - [`fc46610`](https://github.com/apple/pkl/commit/fc46610cbe93449fd8df22fd76859a469272cf43) Rename HttpRewrite to HttpPrefix for clarity - [`e8ea9f6`](https://github.com/apple/pkl/commit/e8ea9f62587870a37bb70549bf51942078283dea) Add strict HTTP header validation to EvaluatorSettings ### 📊 Changes **12 files changed** (+221 additions, -13 deletions) <details> <summary>View changed files</summary> 📝 `pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/CliBaseOptions.kt` (+4 -0) 📝 `pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/CliCommand.kt` (+5 -0) 📝 `pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/commands/BaseOptions.kt` (+55 -0) 📝 `pkl-core/src/main/java/org/pkl/core/evaluatorSettings/PklEvaluatorSettings.java` (+38 -7) 📝 `pkl-core/src/main/java/org/pkl/core/http/HttpClient.java` (+9 -0) 📝 `pkl-core/src/main/java/org/pkl/core/http/HttpClientBuilder.java` (+10 -1) 📝 `pkl-core/src/main/java/org/pkl/core/http/JdkHttpClient.java` (+17 -3) 📝 `pkl-core/src/main/resources/org/pkl/core/errorMessages.properties` (+6 -0) 📝 `pkl-core/src/test/kotlin/org/pkl/core/settings/PklSettingsTest.kt` (+9 -0) 📝 `pkl-gradle/src/main/java/org/pkl/gradle/task/BasePklTask.java` (+6 -0) 📝 `pkl-gradle/src/main/java/org/pkl/gradle/task/ModulesTask.java` (+1 -0) 📝 `stdlib/EvaluatorSettings.pkl` (+61 -2) </details> ### 📄 Description This PR adds support for custom HTTP headers, introducing a `--http-header` CLI flag to accept `key=value` pairs. These headers can also be specified within the `setting.pkl` file. Closes #633 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-30 01:27:50 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pkl#936