diff --git a/pom.xml b/pom.xml
index cb3bae44..7f272e1a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -132,6 +132,12 @@ THE SOFTWARE.
workflow-job
test
+
+ org.wiremock
+ wiremock-standalone
+ 3.13.1
+ test
+
diff --git a/src/test/java/jenkins/plugins/http_request/HttpRequestPluginTest.java b/src/test/java/jenkins/plugins/http_request/HttpRequestPluginTest.java
new file mode 100644
index 00000000..fde70411
--- /dev/null
+++ b/src/test/java/jenkins/plugins/http_request/HttpRequestPluginTest.java
@@ -0,0 +1,67 @@
+package jenkins.plugins.http_request;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching;
+
+import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
+import org.jenkinsci.plugins.workflow.job.WorkflowJob;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+import org.jvnet.hudson.test.Issue;
+import org.jvnet.hudson.test.JenkinsRule;
+import org.jvnet.hudson.test.junit.jupiter.WithJenkins;
+
+import com.github.tomakehurst.wiremock.junit5.WireMockExtension;
+import com.github.tomakehurst.wiremock.matching.RequestPatternBuilder;
+
+@WithJenkins
+class HttpRequestPluginTest {
+
+ @RegisterExtension
+ private static final WireMockExtension WIRE_MOCK_EXTENSION = WireMockExtension.newInstance().build();
+
+ private JenkinsRule r;
+
+ @BeforeEach
+ void beforeEach(JenkinsRule rule) {
+ r = rule;
+ }
+
+ @Test
+ @Issue("JENKINS-76353")
+ void test() throws Exception {
+ String payload = "Some Random String";
+
+ WIRE_MOCK_EXTENSION.stubFor(get(urlMatching("/JENKINS-76353"))
+ .willReturn(aResponse()
+ .withStatus(200)
+ .withStatusMessage("OK")
+ .withHeader("date", "Fri, 23 Jan 2026 15:30:38 GMT")
+ .withHeader("vary", "Accept-Encoding")
+ .withHeader("content-disposition", "attachment; filename=\"file.txt\"; size=" + payload.length())
+ .withHeader("etag", "\"a21bcba577f439d703fbe1561f77213bedf7a019616fae65d9a76d2b3687773b\"")
+ .withHeader("content-encoding", "none")
+ .withHeader("content-type", "application/octet-stream")
+ .withHeader("cache-control", "no-store, no-cache")
+ .withHeader("pragma", "no-cache")
+ .withHeader("content-length", String.valueOf(payload.length()))
+ .withHeader("strict-transport-security", "max-age=31536000;includeSubDomains")
+ .withBody(payload)
+ ));
+
+ WorkflowJob project = r.createProject(WorkflowJob.class);
+ project.setDefinition(new CpsFlowDefinition(
+ """
+ httpRequest(
+ url: "%s/JENKINS-76353"
+ )
+ """.formatted(WIRE_MOCK_EXTENSION.baseUrl()),
+ true));
+ r.assertBuildStatusSuccess(project.scheduleBuild2(0));
+
+ WIRE_MOCK_EXTENSION.verify(getRequestedFor(urlMatching("/JENKINS-76353")));
+ }
+}