github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/views/vadmin/Request.html (about) 1 <!-- Content managed by Project Forge, see [projectforge.md] for details. --> 2 {% import ( 3 "net/http" 4 5 "github.com/samber/lo" 6 7 "github.com/kyleu/dbaudit/app" 8 "github.com/kyleu/dbaudit/app/controller/cutil" 9 "github.com/kyleu/dbaudit/app/util" 10 "github.com/kyleu/dbaudit/views/components" 11 "github.com/kyleu/dbaudit/views/layout" 12 ) %} 13 14 {% code type Request struct { 15 layout.Basic 16 Rsp http.ResponseWriter 17 Req *http.Request 18 } %} 19 20 {% func (p *Request) Body(as *app.State, ps *cutil.PageState) %} 21 <div class="card"> 22 <div class="right"><a href="#modal-ps"><button type="button">Page State</button></a></div> 23 <h3>Request Debug</h3> 24 <div class="overflow full-width"> 25 <table> 26 <thead> 27 <tr> 28 <th>Key</th> 29 <th>Value</th> 30 </tr> 31 </thead> 32 <tbody> 33 <tr> 34 <td>URL</td> 35 <td>{%s p.Req.URL.String() %}</td> 36 </tr> 37 <tr> 38 <td>Protocol</td> 39 <td>{%s p.Req.URL.Scheme %}</td> 40 </tr> 41 <tr> 42 <td>Host</td> 43 <td>{%s p.Req.URL.Host %}</td> 44 </tr> 45 <tr> 46 <td>Path</td> 47 <td>{%s p.Req.URL.Path %}</td> 48 </tr> 49 <tr> 50 <td>Query String</td> 51 <td>{%s p.Req.URL.RawQuery %}</td> 52 </tr> 53 <tr> 54 <td>Body Size</td> 55 <td>{%s util.ByteSizeSI(int64(len(ps.RequestBody))) %}</td> 56 </tr> 57 <tr> 58 <td>Browser</td> 59 <td>{%s ps.Browser %} {%s ps.BrowserVersion %}</td> 60 </tr> 61 <tr> 62 <td>OS</td> 63 <td>{%s ps.OS %} {%s ps.OSVersion %}</td> 64 </tr> 65 </tbody> 66 </table> 67 </div> 68 </div> 69 {%- if len(p.Req.Header) > 0 -%} 70 {%- code hd := cutil.RequestHeadersMap(p.Req) -%} 71 <div class="card"> 72 <h3>Headers</h3> 73 <div class="overflow full-width"> 74 <table> 75 <thead> 76 <tr> 77 <th>Key</th> 78 <th>Value</th> 79 </tr> 80 </thead> 81 <tbody> 82 {%- for _, k := range util.ArraySorted(lo.Keys(hd)) -%} 83 <tr> 84 <td class="nowrap">{%s k %}</td> 85 <td>{%s hd.GetStringOpt(k) %}</td> 86 </tr> 87 {%- endfor -%} 88 </tbody> 89 </table> 90 </div> 91 </div> 92 {%- endif -%} 93 {%= components.JSONModal("ps", "Page State", ps, 1) %} 94 {% endfunc %}