7
7
<title >{{ config (' request-docs.document_name' ) } } </title >
8
8
<meta name =" description" content =" Laravel Request Docs" >
9
9
<meta name =" keywords" content =" " >
10
+ <meta name =" csrf-token" content =" {{ csrf_token () } }" >
10
11
<link href =" https://cdn.jsdelivr.net/npm/tailwindcss/dist/tailwind.min.css" rel =" stylesheet" >
11
12
<script src =" https://cdn.jsdelivr.net/npm/vue@2" ></script >
12
13
<script src =" https://unpkg.com/vue-prism-editor" ></script >
128
129
</span >
129
130
<span class =" text-xs" v-bind:class =" docs[{{ $index } } ]['isActiveSidebar'] ? 'font-bold':''" >
130
131
<span class =" text-gray-800 pr-1 pl-1" v-if =" docs[{{ $index } } ]['responseOk'] === null" >{{ $doc [' uri' ]} } </span >
131
- <span class =" font-bold text-green-600 border rounded-full pr-1 pl-1 border-green-600" v-if =" docs[{{ $index } } ]['responseOk'] === true" >{{ $doc [' uri' ]} } - SUCCESS</span >
132
- <span class =" font-bold text-red-600 border rounded-full pr-1 pl-1 border-red-500" v-if =" docs[{{ $index } } ]['responseOk'] === false" >{{ $doc [' uri' ]} } - ERROR</span >
132
+ <span class =" font-bold text-green-600 border rounded-full pr-1 pl-1 border-green-600" v-if =" docs[{{ $index } } ]['responseOk'] === true" >
133
+ {{ $doc [' uri' ]} } -
134
+ <span
135
+ class =" inline-flex text-xs"
136
+ v-text =" 'Status:'+docs[{{ $index } } ]['responseCode'] + ', Took:' + docs[{{ $index } } ]['responseTime'] + 'ms'" >
137
+ </span >
138
+ </span >
139
+ <span class =" font-bold text-red-600 border rounded-full pr-1 pl-1 border-red-500" v-if =" docs[{{ $index } } ]['responseOk'] === false" >
140
+ {{ $doc [' uri' ]} } -
141
+ <span
142
+ class =" inline-flex text-xs"
143
+ v-text =" 'Status:'+docs[{{ $index } } ]['responseCode'] + ', Took:' + docs[{{ $index } } ]['responseTime'] + 'ms'" >
144
+ </span >
145
+ </span >
133
146
</span >
134
147
</a >
135
148
</td >
@@ -327,21 +340,6 @@ class="animate-spin h-4 w-4 rounded-full bg-transparent border-2 border-transpar
327
340
Run
328
341
</button >
329
342
330
-
331
- <div v-if =" docs[{{ $index } } ]['bearer'] && docs[{{ $index } } ]['try']" class =" mb-4" >
332
- <label class =" block text-gray-700 text-sm font-bold mb-2" for =" token" >
333
- Bearer Token
334
- </label >
335
- <input
336
- v-model =" token"
337
- class =" shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
338
- id =" token"
339
- type =" text"
340
- placeholder =" Bearer Token"
341
- autocomplete =" off"
342
- />
343
- </div >
344
-
345
343
<div class =" grid grid-cols-1 mt-3 pr-2 overflow-auto" >
346
344
<div class =" " >
347
345
<div v-if =" docs[{{ $index } } ]['try']" >
@@ -404,6 +402,16 @@ class="inline-flex text-xs font-bold text-red-900"
404
402
</span >
405
403
</td >
406
404
</tr >
405
+ <tr >
406
+ <td class =" align-left pl-2 pr-2 bg-gray-100 border-r-2" >Memory Usage</td >
407
+ <td class =" align-left pl-2 pr-2 break-all" >
408
+ <span
409
+ v-if =" docs[{{ $index } } ]['memory']"
410
+ class =" inline-flex text-xs font-bold text-red-900"
411
+ v-text =" docs[{{ $index } } ]['memory']" >
412
+ </span >
413
+ </td >
414
+ </tr >
407
415
<tr >
408
416
<td class =" align-left pl-2 pr-2 bg-gray-100 border-r-2" >Response Time</td >
409
417
<td class =" align-left pl-2 pr-2 break-all" >
@@ -557,6 +565,7 @@ class="my-prism-editor"
557
565
doc .cancel = true
558
566
doc .loading = false
559
567
doc .responseTime = null
568
+ doc .memory = null
560
569
// check in array
561
570
if (doc .methods [0 ] == ' GET' ) {
562
571
var idx = 1
@@ -608,17 +617,13 @@ class="my-prism-editor"
608
617
el: ' #app' ,
609
618
data: {
610
619
docs: docs,
611
- token: ' ' ,
612
620
showRoute: false ,
613
621
requestHeaders: ' '
614
622
},
615
623
created : function () {
616
- this .requestHeaders = ' X-CSRF-TOKEN:{{ csrf_token () } }'
617
- this .requestHeaders += ' \n '
618
- this .requestHeaders += ' Accept:application/json'
619
- this .requestHeaders += ' \n '
620
- this .requestHeaders += ' Authorization:Bearer ' + this .token
621
- this .requestHeaders += ' \n '
624
+ axios .defaults .headers .common [' X-CSRF-TOKEN' ] = document .querySelector (' meta[name="csrf-token"]' ).getAttribute (' content' ),
625
+ axios .defaults .headers .common [' Authorization' ] = ' Bearer '
626
+ this .requestHeaders = JSON .stringify (axios .defaults .headers .common , null , 2 )
622
627
},
623
628
methods: {
624
629
highlightSidebar (idx ) {
@@ -633,6 +638,7 @@ class="my-prism-editor"
633
638
return Prism .highlight (code, Prism .languages .atom , " js" );
634
639
},
635
640
request (doc ) {
641
+
636
642
// convert string to lower case
637
643
var method = doc[' methods' ][0 ].toLowerCase ()
638
644
@@ -645,26 +651,21 @@ class="my-prism-editor"
645
651
doc .response = " Cannot parse JSON request body"
646
652
return
647
653
}
654
+
655
+ try {
656
+ axios .defaults .headers .common = JSON .parse (this .requestHeaders )
657
+ axios .defaults .headers .common [' X-Request-LRD' ] = ' lrd'
658
+ } catch (e) {
659
+ doc .response = " Cannot parse JSON request headers"
660
+ return
661
+ }
648
662
doc .queries = []
649
663
doc .response = null
650
664
doc .responseOk = null
651
665
doc .responseTime = null
652
666
doc .responseHeaders = null
653
667
doc .loading = true
654
668
655
- headers = this .requestHeaders .split (" \n " )
656
-
657
- axios .defaults .headers .common [' X-Request-LRD' ] = ' lrd'
658
-
659
- for (header of headers) {
660
- let h = header .split (" :" )
661
- let key = h[0 ]
662
- let value = h[1 ]
663
- if (key && value) {
664
- axios .defaults .headers .common [key .trim ()] = value .trim ()
665
- }
666
- }
667
-
668
669
let startTime = new Date ().getTime ();
669
670
axios ({
670
671
method: method,
@@ -673,11 +674,12 @@ class="my-prism-editor"
673
674
decompress: true ,
674
675
withCredentials: true
675
676
}).then (response => {
676
- console .log (response)
677
+ console .log (" response " , response)
677
678
doc .responseOk = true
678
679
if (response && response .data ) {
679
680
if (response .data [' _lrd' ]) {
680
681
doc .queries = response .data [' _lrd' ][' queries' ]
682
+ doc .memory = response .data [' _lrd' ][' memory' ]
681
683
delete response .data [' _lrd' ]
682
684
}
683
685
doc .response = JSON .stringify (response .data , null , 2 )
@@ -687,10 +689,12 @@ class="my-prism-editor"
687
689
688
690
}).catch (error => {
689
691
doc .responseOk = false
690
- console .log (error)
692
+ console .log (" error " , error)
691
693
if (error && error .response && error .response .data ) {
694
+ console .log (" error response" , error .response )
692
695
if (error .response .data [' _lrd' ]) {
693
696
doc .queries = error .response .data [' _lrd' ][' queries' ]
697
+ doc .memory = error .response .data [' _lrd' ][' memory' ]
694
698
delete error .response .data [' _lrd' ]
695
699
}
696
700
doc .responseCode = error .response .status ;
0 commit comments