Skip to content

Commit 6956e5b

Browse files
committed
Log NSX responses while provider is in debug mode
Signed-off-by: Kobi Samoray <[email protected]>
1 parent c40cc41 commit 6956e5b

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

nsxt/provider.go

+22-1
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,21 @@ func (processor logRequestProcessor) Process(req *http.Request) error {
791791
return nil
792792
}
793793

794+
type logResponseAcceptor struct {
795+
}
796+
797+
func newLogResponseAcceptor() *logResponseAcceptor {
798+
return &logResponseAcceptor{}
799+
}
800+
801+
func (processor logResponseAcceptor) Accept(req *http.Response) {
802+
dumpResponse, err := httputil.DumpResponse(req, true)
803+
if err != nil {
804+
log.Fatal(err)
805+
}
806+
log.Printf("Received NSX response:\n%s", dumpResponse)
807+
}
808+
794809
type bearerAuthHeaderProcessor struct {
795810
Token string
796811
}
@@ -977,6 +992,8 @@ func getPolicyConnectorWithHeaders(clients interface{}, customHeaders *map[strin
977992

978993
connectorOptions := []client.ConnectorOption{client.UsingRest(nil), client.WithHttpClient(c.PolicyHTTPClient), client.WithDecorators(retry.NewRetryDecorator(uint(c.CommonConfig.MaxRetries), retryFunc))}
979994
var requestProcessors []core.RequestProcessor
995+
var responseAcceptors []core.ResponseAcceptor
996+
980997
if c.PolicySecurityContext != nil {
981998
connectorOptions = append(connectorOptions, client.WithSecurityContext(c.PolicySecurityContext))
982999
}
@@ -1004,13 +1021,17 @@ func getPolicyConnectorWithHeaders(clients interface{}, customHeaders *map[strin
10041021
log.Printf("[INFO]: Session headers configured for policy objects")
10051022
}
10061023

1007-
if os.Getenv("TF_LOG_PROVIDER") != "" {
1024+
if os.Getenv("TF_LOG_PROVIDER_NSX_HTTP") != "" {
10081025
requestProcessors = append(requestProcessors, newLogRequestProcessor().Process)
1026+
responseAcceptors = append(responseAcceptors, newLogResponseAcceptor().Accept)
10091027
}
10101028

10111029
if len(requestProcessors) > 0 {
10121030
connectorOptions = append(connectorOptions, client.WithRequestProcessors(requestProcessors...))
10131031
}
1032+
if len(responseAcceptors) > 0 {
1033+
connectorOptions = append(connectorOptions, client.WithResponseAcceptors(responseAcceptors...))
1034+
}
10141035
connector := client.NewConnector(c.Host, connectorOptions...)
10151036
// Init NSX version on demand if not done yet
10161037
// This is also our indication to apply licenses, in case of delayed connection

0 commit comments

Comments
 (0)