@@ -296,7 +296,9 @@ func (em *EndpointManager) tokenIntrospectionHandler() http.HandlerFunc {
296296 }
297297
298298 w .Header ().Set ("Content-Type" , "application/json" )
299- json .NewEncoder (w ).Encode (response )
299+ if err := json .NewEncoder (w ).Encode (response ); err != nil {
300+ log .Printf ("Failed to encode introspection response: %v" , err )
301+ }
300302 return
301303 }
302304
@@ -419,7 +421,9 @@ func (em *EndpointManager) writeErrorResponse(w http.ResponseWriter, errorCode,
419421 "error_description" : description ,
420422 }
421423
422- json .NewEncoder (w ).Encode (response )
424+ if err := json .NewEncoder (w ).Encode (response ); err != nil {
425+ log .Printf ("Failed to encode error response: %v" , err )
426+ }
423427}
424428
425429// authorizationProxyHandler proxies authorization requests to Azure AD with resource parameter filtering
@@ -608,7 +612,11 @@ func (em *EndpointManager) exchangeCodeForToken(code, state string) (*TokenRespo
608612 if err != nil {
609613 return nil , fmt .Errorf ("token exchange request failed: %w" , err )
610614 }
611- defer resp .Body .Close ()
615+ defer func () {
616+ if err := resp .Body .Close (); err != nil {
617+ log .Printf ("Failed to close response body: %v" , err )
618+ }
619+ }()
612620
613621 if resp .StatusCode != http .StatusOK {
614622 body , _ := io .ReadAll (resp .Body )
@@ -649,7 +657,9 @@ func (em *EndpointManager) writeCallbackErrorResponse(w http.ResponseWriter, mes
649657</body>
650658</html>` , message )
651659
652- w .Write ([]byte (html ))
660+ if _ , err := w .Write ([]byte (html )); err != nil {
661+ log .Printf ("Failed to write error response: %v" , err )
662+ }
653663}
654664
655665// writeCallbackSuccessResponse writes a success response for callback
@@ -733,7 +743,9 @@ func (em *EndpointManager) writeCallbackSuccessResponse(w http.ResponseWriter, t
733743 tokenResponse .AccessToken ,
734744 tokenResponse .AccessToken )
735745
736- w .Write ([]byte (html ))
746+ if _ , err := w .Write ([]byte (html )); err != nil {
747+ log .Printf ("Failed to write success response: %v" , err )
748+ }
737749}
738750
739751// isValidClientID validates if a client ID is acceptable
@@ -896,7 +908,11 @@ func (em *EndpointManager) exchangeCodeForTokenDirect(code, redirectURI, codeVer
896908 if err != nil {
897909 return nil , fmt .Errorf ("token exchange request failed: %w" , err )
898910 }
899- defer resp .Body .Close ()
911+ defer func () {
912+ if err := resp .Body .Close (); err != nil {
913+ log .Printf ("Failed to close response body: %v" , err )
914+ }
915+ }()
900916
901917 if resp .StatusCode != http .StatusOK {
902918 body , _ := io .ReadAll (resp .Body )
0 commit comments