mirror of
https://github.com/mariocandela/beelzebub.git
synced 2025-07-01 18:47:26 -04:00
Refactoring Event object, and HTTP handler
This commit is contained in:
@ -65,14 +65,36 @@ func traceRequest(request *http.Request, tr tracer.Tracer) {
|
|||||||
Body: body,
|
Body: body,
|
||||||
HostHTTPRequest: request.Host,
|
HostHTTPRequest: request.Host,
|
||||||
UserAgent: request.UserAgent(),
|
UserAgent: request.UserAgent(),
|
||||||
Cookies: request.Cookies(),
|
Cookies: mapCookiesToString(request.Cookies()),
|
||||||
Headers: request.Header,
|
Headers: mapHeaderToString(request.Header),
|
||||||
Status: tracer.Stateless.String(),
|
Status: tracer.Stateless.String(),
|
||||||
RemoteAddr: request.RemoteAddr,
|
RemoteAddr: request.RemoteAddr,
|
||||||
ID: uuid.New().String(),
|
ID: uuid.New().String(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func mapHeaderToString(headers http.Header) string {
|
||||||
|
headersString := ""
|
||||||
|
|
||||||
|
for key := range headers {
|
||||||
|
for _, values := range headers[key] {
|
||||||
|
headersString += fmt.Sprintf("[Key: %s, values: %s],", key, values)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return headersString
|
||||||
|
}
|
||||||
|
|
||||||
|
func mapCookiesToString(cookies []*http.Cookie) string {
|
||||||
|
cookiesString := ""
|
||||||
|
|
||||||
|
for _, cookie := range cookies {
|
||||||
|
cookiesString += cookie.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
return cookiesString
|
||||||
|
}
|
||||||
|
|
||||||
func setResponseHeaders(responseWriter http.ResponseWriter, headers []string, statusCode int) {
|
func setResponseHeaders(responseWriter http.ResponseWriter, headers []string, statusCode int) {
|
||||||
// http.StatusText(statusCode): empty string if the code is unknown.
|
// http.StatusText(statusCode): empty string if the code is unknown.
|
||||||
if len(http.StatusText(statusCode)) > 0 {
|
if len(http.StatusText(statusCode)) > 0 {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package tracer
|
package tracer
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -18,7 +17,7 @@ func Init(strategy Strategy) *Tracer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (tracer *Tracer) TraceEvent(event Event) {
|
func (tracer *Tracer) TraceEvent(event Event) {
|
||||||
event.DateTime = time.Now().UTC().String()
|
event.DateTime = time.Now().UTC().Format(time.RFC3339)
|
||||||
tracer.strategy(event)
|
tracer.strategy(event)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,8 +33,8 @@ type Event struct {
|
|||||||
User string
|
User string
|
||||||
Password string
|
Password string
|
||||||
Client string
|
Client string
|
||||||
Headers http.Header
|
Headers string
|
||||||
Cookies []*http.Cookie
|
Cookies string
|
||||||
UserAgent string
|
UserAgent string
|
||||||
HostHTTPRequest string
|
HostHTTPRequest string
|
||||||
Body string
|
Body string
|
||||||
|
Reference in New Issue
Block a user