additional endpoint detail (#36)

This commit is contained in:
Michael Quigley 2022-09-01 14:51:33 -04:00
parent 106b8ba469
commit 2b65166f2a
No known key found for this signature in database
GPG Key ID: 9B60314A9DD20A62
4 changed files with 365 additions and 350 deletions

View File

@ -12,6 +12,7 @@
<style> <style>
body { body {
margin: 0; margin: 0;
padding: 25;
font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace; font-family: 'JetBrains Mono', Consolas, 'Courier New', monospace;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
@ -389,11 +390,13 @@
<div id="info"> <div id="info">
<h2>{{ .Now }}</h2> <h2>{{ .Now }}</h2>
<h3>This Endpoint:</h3> <h3>At This Endpoint:</h3>
<table> <table>
<tr><td class="td-key">Host Header</td><td>{{ .Host }}</td></tr> <tr><td>Remote Address</td><td>{{ .RemoteAddr }}</td></tr>
<tr><td class="td-key">Remote Address</td><td>{{ .Remote }}</td></tr> <tr><td>This Host</td><td>{{ .Host }}</td></tr>
<tr><td class="td-key">Local IP Addresses</td><td>{{ .Ips }}</td></tr> <tr><td>This Host Detail</td><td>{{ .HostDetail }}</td></tr>
<tr><td>Local IP Addresses</td><td>{{ .Ips }}</td></tr>
<tr><td>Host Header</td><td>{{ .HostHeader }}</td></tr>
</table> </table>
<h3>Extended Headers:</h3> <h3>Extended Headers:</h3>
@ -401,7 +404,7 @@
<tbody> <tbody>
{{ range $header, $value := .Headers }} {{ range $header, $value := .Headers }}
<tr> <tr>
<td class="td-key">{{ $header }}</td> <td>{{ $header }}</td>
<td> <td>
{{ range $v := $value }} {{ range $v := $value }}
{{ $v }} {{ $v }}

View File

@ -62,23 +62,35 @@ func (cmd *testEndpointCommand) serveIndex(w http.ResponseWriter, r *http.Reques
type endpointData struct { type endpointData struct {
Now time.Time Now time.Time
RemoteAddr string
Host string Host string
Headers map[string][]string HostDetail string
Remote string
Ips string Ips string
HostHeader string
Headers map[string][]string
} }
func newEndpointData(r *http.Request) *endpointData { func newEndpointData(r *http.Request) *endpointData {
ed := &endpointData{ ed := &endpointData{
Now: time.Now(), Now: time.Now(),
Host: r.Host, HostHeader: r.Host,
Headers: r.Header, Headers: r.Header,
Remote: r.RemoteAddr, RemoteAddr: r.RemoteAddr,
} }
ed.getHostInfo()
ed.getIps() ed.getIps()
return ed return ed
} }
func (ed *endpointData) getHostInfo() {
host, hostDetail, err := getHost()
if err != nil {
logrus.Errorf("error getting host detail: %v", err)
}
ed.Host = host
ed.HostDetail = hostDetail
}
func (ed *endpointData) getIps() { func (ed *endpointData) getIps() {
addrs, err := net.InterfaceAddrs() addrs, err := net.InterfaceAddrs()
if err == nil { if err == nil {

View File

@ -19,7 +19,7 @@ import (
var Default = NewHTTPClient(nil) var Default = NewHTTPClient(nil)
const ( const (
// DefaultHost is the default Host // DefaultHost is the default HostHeader
// found in Meta (info) section of spec file // found in Meta (info) section of spec file
DefaultHost string = "localhost" DefaultHost string = "localhost"
// DefaultBasePath is the default BasePath // DefaultBasePath is the default BasePath

View File

@ -5,7 +5,7 @@
// zrok client access // zrok client access
// Schemes: // Schemes:
// http // http
// Host: localhost // HostHeader: localhost
// BasePath: /api/v1 // BasePath: /api/v1
// Version: 1.0.0 // Version: 1.0.0
// //