@@ -66,30 +66,41 @@ private function linkIsValid(string $link): bool
6666 /**
6767 * @codeCoverageIgnore
6868 */
69- public function str (MessageInterface $ message ): string
69+ public function str (MessageInterface $ message, int $ verbosity = 0 ): string
7070 {
7171 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 ();
7574 if (!$ message ->hasHeader ('host ' )) {
7675 $ msg .= "\r\nHost: " .$ message ->getUri ()->getHost ();
7776 }
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 ;
8289 }
8390
8491 foreach ($ message ->getHeaders () as $ name => $ values ) {
8592 $ msg .= "\r\n{$ name }: " .implode (', ' , $ values );
8693 }
8794
95+ if ($ verbosity < 2 ) {
96+ return $ msg ;
97+ }
98+
8899 if (ini_get ('memory_limit ' ) < 0 || $ message ->getBody ()->getSize () < ini_get ('memory_limit ' )) {
89100 $ msg .= "\r\n\r\n" .$ message ->getBody ();
90101 }
91102
92- return $ msg ;
103+ return trim ( $ msg) ;
93104 }
94105
95106 /**
@@ -98,7 +109,7 @@ public function str(MessageInterface $message): string
98109 * @param RequestInterface $request The faulty request
99110 * @param ResponseInterface $response The error-filled response
100111 */
101- public function httpError (RequestInterface $ request , ResponseInterface $ response ): BadResponseError
112+ public function httpError (RequestInterface $ request , ResponseInterface $ response, int $ verbosity = 0 ): BadResponseError
102113 {
103114 $ message = $ this ->header ('HTTP Error ' );
104115
@@ -109,10 +120,10 @@ public function httpError(RequestInterface $request, ResponseInterface $response
109120 );
110121
111122 $ message .= $ this ->header ('Request ' );
112- $ message .= trim ( $ this ->str ($ request) ).PHP_EOL .PHP_EOL ;
123+ $ message .= $ this ->str ($ request, $ verbosity ).PHP_EOL .PHP_EOL ;
113124
114125 $ message .= $ this ->header ('Response ' );
115- $ message .= trim ( $ this ->str ($ response) ).PHP_EOL .PHP_EOL ;
126+ $ message .= $ this ->str ($ response, $ verbosity ).PHP_EOL .PHP_EOL ;
116127
117128 $ message .= $ this ->header ('Further information ' );
118129 $ message .= $ this ->getStatusCodeMessage ($ response ->getStatusCode ());
0 commit comments