add audit/admin trace support for browser requests (#10947)

To support this functionality we had to fork
the gorilla/rpc package with relevant changes
This commit is contained in:
Harshavardhana
2020-11-20 22:52:17 -08:00
committed by GitHub
parent 7bc47a14cc
commit 86409fa93d
21 changed files with 2033 additions and 64 deletions

View File

@@ -27,6 +27,7 @@ import (
"net/url"
"os"
"path"
"reflect"
"runtime"
"strconv"
"strings"
@@ -56,6 +57,24 @@ import (
"github.com/minio/minio/pkg/ioutil"
)
func extractBucketObject(args reflect.Value) (bucketName, objectName string) {
switch args.Kind() {
case reflect.Ptr:
a := args.Elem()
for i := 0; i < a.NumField(); i++ {
switch a.Type().Field(i).Name {
case "BucketName":
bucketName = a.Field(i).String()
case "Prefix":
objectName = a.Field(i).String()
case "ObjectName":
objectName = a.Field(i).String()
}
}
}
return bucketName, objectName
}
// WebGenericArgs - empty struct for calls that don't accept arguments
// for ex. ServerInfo, GenerateAuth
type WebGenericArgs struct{}