@@ -23,7 +23,7 @@ private static function generateOptions(Request $request): string
23
23
24
24
if ($ request ->headers ()) {
25
25
// TODO: what about headers that have Http helper methods, for example: `acceptJson`
26
- $ options [] = 'withHeaders( ' . var_export ($ request ->headers (), true ) . ') ' ;
26
+ $ options [] = 'withHeaders( ' . self :: prettyPrintArray ($ request ->headers ()) . ') ' ;
27
27
}
28
28
29
29
if (empty ($ options )) {
@@ -39,6 +39,25 @@ private static function generateRequest(Request $request): string
39
39
return "' " . $ request ->url () . "' " ;
40
40
}
41
41
42
- return sprintf ('\'%s \', %s ' , $ request ->url (), var_export ($ request ->data (), true ));
42
+ return sprintf ('\'%s \', %s ' , $ request ->url (), self ::prettyPrintArray ($ request ->data ()));
43
+ }
44
+
45
+ private static function prettyPrintArray (array $ data , $ assoc = true )
46
+ {
47
+ $ output = var_export ($ data , true );
48
+ $ patterns = [
49
+ "/array \(/ " => '[ ' ,
50
+ "/^([ ]*)\)(,?)$/m " => '$1]$2 ' ,
51
+ "/=>[ ]? \n[ ]+\[/ " => '=> [ ' ,
52
+ "/([ ]*)(\'[^\']+\') => ([\[\'])/ " => '$1$2 => $3 ' ,
53
+ ];
54
+ $ output = preg_replace ('/^\s+/m ' , ' ' , $ output );
55
+ $ output = preg_replace (['/^array \(/ ' , '/\)$/ ' ], ['[ ' , ' ] ' ], $ output );
56
+
57
+ if (!$ assoc ) {
58
+ $ output = preg_replace ('/^(\s+)[^=]+=>\s+/m ' , '$1 ' , $ output );
59
+ }
60
+
61
+ return trim (str_replace ("\n" , PHP_EOL , $ output ));
43
62
}
44
63
}
0 commit comments