Gate data proxy audit logging behind audit_logging server setting

This commit is contained in:
Ricky Niemi
2017-01-11 07:22:57 -08:00
parent d9cbb994b8
commit 0fee7c863a
5 changed files with 22 additions and 11 deletions

View File

@ -118,8 +118,6 @@ func ProxyDataSourceRequest(c *middleware.Context) {
}
}
outputToAuditLog(ds.Type, c)
proxy := NewReverseProxy(ds, proxyPath, targetUrl)
proxy.Transport, err = ds.GetHttpTransport()
if err != nil {
@ -127,19 +125,23 @@ func ProxyDataSourceRequest(c *middleware.Context) {
return
}
auditLog(ds.Type, c)
proxy.ServeHTTP(c.Resp, c.Req.Request)
c.Resp.Header().Del("Set-Cookie")
}
func outputToAuditLog(dataSourceType string, c *middleware.Context) {
auditLogger := log.New("data-proxy-audit", "userid", c.UserId, "orgid", c.OrgId, "username", c.Login)
func auditLog(dataSourceType string, c *middleware.Context) {
if setting.AuditLogging {
auditLogger := log.New("data-proxy-audit", "userid", c.UserId, "orgid", c.OrgId, "username", c.Login)
var body string
if c.Req.Request.Body != nil {
buffer, _ := ioutil.ReadAll(c.Req.Request.Body)
c.Req.Request.Body = ioutil.NopCloser(bytes.NewBuffer(buffer))
body = string(buffer)
var body string
if c.Req.Request.Body != nil {
buffer, _ := ioutil.ReadAll(c.Req.Request.Body)
c.Req.Request.Body = ioutil.NopCloser(bytes.NewBuffer(buffer))
body = string(buffer)
}
auditLogger.Warn("Proxying incoming request", "datasource", dataSourceType, "uri", c.Req.RequestURI, "method", c.Req.Request.Method, "body", body)
}
auditLogger.Info("Proxying incoming request", "datasource", dataSourceType, "uri", c.Req.RequestURI, "method", c.Req.Request.Method, "body", body)
}