Skip to content

Commit 9073cf8

Browse files
authored
[5.x] Save and view response headers (#1561)
* Log and view response headers * Add test
1 parent abbe813 commit 9073cf8

File tree

5 files changed

+26
-11
lines changed

5 files changed

+26
-11
lines changed

public/app.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/mix-manifest.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"/app.js": "/app.js?id=99f84d421ae083196e0a45c3c310168b",
2+
"/app.js": "/app.js?id=a04a99f77a55ffcecde23cd7304b481b",
33
"/app-dark.css": "/app-dark.css?id=1ea407db56c5163ae29311f1f38eb7b9",
44
"/app.css": "/app.css?id=de4c978567bfd90b38d186937dee5ccf"
55
}

resources/js/screens/requests/preview.vue

+20-7
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
return {
1111
entry: null,
1212
batch: [],
13-
currentTab: 'payload'
13+
currentRequestTab: 'payload',
14+
currentResponseTab: 'response'
1415
};
1516
}
1617
}
@@ -84,21 +85,33 @@
8485
<div class="card mt-5 overflow-hidden">
8586
<ul class="nav nav-pills">
8687
<li class="nav-item">
87-
<a class="nav-link" :class="{active: currentTab=='payload'}" href="#" v-on:click.prevent="currentTab='payload'">Payload</a>
88+
<a class="nav-link" :class="{active: currentRequestTab=='payload'}" href="#" v-on:click.prevent="currentRequestTab='payload'">Payload</a>
8889
</li>
8990
<li class="nav-item">
90-
<a class="nav-link" :class="{active: currentTab=='headers'}" href="#" v-on:click.prevent="currentTab='headers'">Headers</a>
91+
<a class="nav-link" :class="{active: currentRequestTab=='headers'}" href="#" v-on:click.prevent="currentRequestTab='headers'">Headers</a>
92+
</li>
93+
</ul>
94+
<div class="code-bg p-4 mb-0 text-white">
95+
<copy-clipboard :data="slotProps.entry.content[currentRequestTab]">
96+
<vue-json-pretty :data="slotProps.entry.content[currentRequestTab]"></vue-json-pretty>
97+
</copy-clipboard>
98+
</div>
99+
</div>
100+
<div class="card mt-5">
101+
<ul class="nav nav-pills">
102+
<li class="nav-item">
103+
<a class="nav-link" :class="{active: currentResponseTab=='response'}" href="#" v-on:click.prevent="currentResponseTab='response'">Response</a>
91104
</li>
92105
<li class="nav-item">
93-
<a class="nav-link" :class="{active: currentTab=='session'}" href="#" v-on:click.prevent="currentTab='session'">Session</a>
106+
<a class="nav-link" :class="{active: currentResponseTab=='response_headers'}" href="#" v-on:click.prevent="currentResponseTab='response_headers'">Headers</a>
94107
</li>
95108
<li class="nav-item">
96-
<a class="nav-link" :class="{active: currentTab=='response'}" href="#" v-on:click.prevent="currentTab='response'">Response</a>
109+
<a class="nav-link" :class="{active: currentResponseTab=='session'}" href="#" v-on:click.prevent="currentResponseTab='session'">Session</a>
97110
</li>
98111
</ul>
99112
<div class="code-bg p-4 mb-0 text-white">
100-
<copy-clipboard :data="slotProps.entry.content[currentTab]">
101-
<vue-json-pretty :data="slotProps.entry.content[currentTab]"></vue-json-pretty>
113+
<copy-clipboard :data="slotProps.entry.content[currentResponseTab]">
114+
<vue-json-pretty :data="slotProps.entry.content[currentResponseTab]"></vue-json-pretty>
102115
</copy-clipboard>
103116
</div>
104117
</div>

src/Watchers/RequestWatcher.php

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public function recordRequest(RequestHandled $event)
5353
'headers' => $this->headers($event->request->headers->all()),
5454
'payload' => $this->payload($this->input($event->request)),
5555
'session' => $this->payload($this->sessionVariables($event->request)),
56+
'response_headers' => $this->headers($event->response->headers->all()),
5657
'response_status' => $event->response->getStatusCode(),
5758
'response' => $this->response($event->response),
5859
'duration' => $startTime ? floor((microtime(true) - $startTime) * 1000) : null,

tests/Watchers/RequestWatchersTest.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,11 @@ public function test_request_watcher_hides_php_auth_pw()
109109
$this->assertSame('********', $entry->content['headers']['php-auth-pw']);
110110
}
111111

112-
public function test_it_stores_and_displays_array_of_request_headers()
112+
public function test_it_stores_and_displays_array_of_request_and_response_headers()
113113
{
114114
Route::post('/dashboard', function () {
115115
return response('success')->withHeaders([
116-
'X-Foo' => ['first', 'second'],
116+
'X-Foo' => ['third', 'fourth'],
117117
]);
118118
});
119119

@@ -125,6 +125,7 @@ public function test_it_stores_and_displays_array_of_request_headers()
125125

126126
$this->assertSame(EntryType::REQUEST, $entry->type);
127127
$this->assertSame('first, second', $entry->content['headers']['x-bar']);
128+
$this->assertSame('third, fourth', $entry->content['response_headers']['x-foo']);
128129
}
129130

130131
public function test_request_watcher_handles_file_uploads()

0 commit comments

Comments
 (0)