From dba2c595e2474db00660c1a86dfc38ddbce091aa Mon Sep 17 00:00:00 2001 From: "richard.king" Date: Wed, 6 Jul 2022 17:40:26 +1200 Subject: [PATCH 1/2] Overwrite Expect header with empty Expect value, which removes it. Php Curl automatically adds this header, which causes Mailchimp to reject the api call. --- src/Requests/MailchimpRequest.php | 1 + tests/UtilityTests/MailchimpRequestTest.php | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/Requests/MailchimpRequest.php b/src/Requests/MailchimpRequest.php index 47c60c93..4eff51c2 100644 --- a/src/Requests/MailchimpRequest.php +++ b/src/Requests/MailchimpRequest.php @@ -210,6 +210,7 @@ public function getHeaders() if (!is_array($this->headers)) { throw new MailchimpException("Request headers must be of type array"); } + $this->headers[] = 'Expect:'; return $this->headers; } diff --git a/tests/UtilityTests/MailchimpRequestTest.php b/tests/UtilityTests/MailchimpRequestTest.php index d0f58093..1a5e1e0c 100644 --- a/tests/UtilityTests/MailchimpRequestTest.php +++ b/tests/UtilityTests/MailchimpRequestTest.php @@ -24,6 +24,15 @@ public function testAuthHeadersSet() self::assertEquals($expected, $actual, "Auth Header should be appropriately set"); } + public function testExpectHeaderNotSet() + { + error_log(print_r($this->requestInstance->getHeaders(), true)); + $expected = 'Expect:'; + $actual = $this->requestInstance->getHeaders()[1]; + + self::assertEquals($expected, $actual, "Expect header should never be set"); + } + public function testApikeySet() { self::assertEquals( From 71cd7e35968c272dd6e4185400af02ee4383eef3 Mon Sep 17 00:00:00 2001 From: Richard King Date: Thu, 7 Jul 2022 08:53:24 +1200 Subject: [PATCH 2/2] Remove error logging from Test --- tests/UtilityTests/MailchimpRequestTest.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/UtilityTests/MailchimpRequestTest.php b/tests/UtilityTests/MailchimpRequestTest.php index 1a5e1e0c..2bb1d8ec 100644 --- a/tests/UtilityTests/MailchimpRequestTest.php +++ b/tests/UtilityTests/MailchimpRequestTest.php @@ -26,11 +26,9 @@ public function testAuthHeadersSet() public function testExpectHeaderNotSet() { - error_log(print_r($this->requestInstance->getHeaders(), true)); $expected = 'Expect:'; $actual = $this->requestInstance->getHeaders()[1]; - - self::assertEquals($expected, $actual, "Expect header should never be set"); + self::assertEquals($expected, $actual, "Expect header should be empty"); } public function testApikeySet()