@@ -66,30 +66,41 @@ private function linkIsValid(string $link): bool
66
66
/**
67
67
* @codeCoverageIgnore
68
68
*/
69
- public function str (MessageInterface $ message ): string
69
+ public function str (MessageInterface $ message, int $ verbosity = 0 ): string
70
70
{
71
71
if ($ message instanceof RequestInterface) {
72
- $ msg = trim ($ message ->getMethod ().' '
73
- .$ message ->getRequestTarget ())
74
- .' HTTP/ ' .$ message ->getProtocolVersion ();
72
+ $ msg = trim ($ message ->getMethod ().' ' .$ message ->getRequestTarget ());
73
+ $ msg .= ' HTTP/ ' .$ message ->getProtocolVersion ();
75
74
if (!$ message ->hasHeader ('host ' )) {
76
75
$ msg .= "\r\nHost: " .$ message ->getUri ()->getHost ();
77
76
}
78
- } elseif ($ message instanceof ResponseInterface) {
79
- $ msg = 'HTTP/ ' .$ message ->getProtocolVersion ().' '
80
- .$ message ->getStatusCode ().' '
81
- .$ message ->getReasonPhrase ();
77
+ } else {
78
+ if ($ message instanceof ResponseInterface) {
79
+ $ msg = 'HTTP/ ' .$ message ->getProtocolVersion ().' '
80
+ .$ message ->getStatusCode ().' '
81
+ .$ message ->getReasonPhrase ();
82
+ } else {
83
+ throw new \InvalidArgumentException ('Unknown message type ' );
84
+ }
85
+ }
86
+
87
+ if ($ verbosity < 1 ) {
88
+ return $ msg ;
82
89
}
83
90
84
91
foreach ($ message ->getHeaders () as $ name => $ values ) {
85
92
$ msg .= "\r\n{$ name }: " .implode (', ' , $ values );
86
93
}
87
94
95
+ if ($ verbosity < 2 ) {
96
+ return $ msg ;
97
+ }
98
+
88
99
if (ini_get ('memory_limit ' ) < 0 || $ message ->getBody ()->getSize () < ini_get ('memory_limit ' )) {
89
100
$ msg .= "\r\n\r\n" .$ message ->getBody ();
90
101
}
91
102
92
- return $ msg ;
103
+ return trim ( $ msg) ;
93
104
}
94
105
95
106
/**
@@ -98,7 +109,7 @@ public function str(MessageInterface $message): string
98
109
* @param RequestInterface $request The faulty request
99
110
* @param ResponseInterface $response The error-filled response
100
111
*/
101
- public function httpError (RequestInterface $ request , ResponseInterface $ response ): BadResponseError
112
+ public function httpError (RequestInterface $ request , ResponseInterface $ response, int $ verbosity = 0 ): BadResponseError
102
113
{
103
114
$ message = $ this ->header ('HTTP Error ' );
104
115
@@ -109,10 +120,10 @@ public function httpError(RequestInterface $request, ResponseInterface $response
109
120
);
110
121
111
122
$ message .= $ this ->header ('Request ' );
112
- $ message .= trim ( $ this ->str ($ request) ).PHP_EOL .PHP_EOL ;
123
+ $ message .= $ this ->str ($ request, $ verbosity ).PHP_EOL .PHP_EOL ;
113
124
114
125
$ message .= $ this ->header ('Response ' );
115
- $ message .= trim ( $ this ->str ($ response) ).PHP_EOL .PHP_EOL ;
126
+ $ message .= $ this ->str ($ response, $ verbosity ).PHP_EOL .PHP_EOL ;
116
127
117
128
$ message .= $ this ->header ('Further information ' );
118
129
$ message .= $ this ->getStatusCodeMessage ($ response ->getStatusCode ());
0 commit comments