From dc17c680749b35312686c2d610fa1aaa25ad0099 Mon Sep 17 00:00:00 2001 From: Danny Date: Wed, 18 Jan 2023 09:08:00 -0500 Subject: [PATCH] Middleware: Context timeout expansion (#2048) ## Description Adds additional definitions for context timeouts for middleware usage ## Does this PR need a docs update or release note? - [x] :no_entry: No ## Type of change - [x] :bug: Bugfix ## Issue(s) *related #2047 ## Test Plan - [x] :muscle: Manual --- src/internal/connector/graph/errors.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/internal/connector/graph/errors.go b/src/internal/connector/graph/errors.go index 1b0d86b85..86cec64bd 100644 --- a/src/internal/connector/graph/errors.go +++ b/src/internal/connector/graph/errors.go @@ -1,7 +1,9 @@ package graph import ( + "context" "net/url" + "os" "github.com/microsoftgraph/msgraph-sdk-go/models/odataerrors" "github.com/pkg/errors" @@ -126,6 +128,10 @@ func hasErrorCode(err error, codes ...string) bool { // timeouts as other errors are handled within a middleware in the // client. func isTimeoutErr(err error) bool { + if errors.Is(err, context.DeadlineExceeded) || os.IsTimeout(err) { + return true + } + switch err := err.(type) { case *url.Error: return err.Timeout()