error logging around malformed urls (#2561)

adds debug logging around url construction
This commit is contained in:
Keepers 2023-02-17 11:16:45 -07:00 committed by GitHub
parent c92b70e000
commit d395311821
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 55 additions and 0 deletions

View File

@ -3,6 +3,7 @@ package api
import (
"context"
"fmt"
"os"
"github.com/alcionai/clues"
"github.com/microsoft/kiota-abstractions-go/serialization"
@ -15,6 +16,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/graph/api"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/logger"
"github.com/alcionai/corso/src/pkg/selectors"
)
@ -245,6 +247,20 @@ func (c Contacts) GetAddedAndRemovedItemIDs(
builder := service.Client().UsersById(user).ContactFoldersById(directoryID).Contacts().Delta()
pgr := &contactPager{service, builder, options}
if len(os.Getenv("CORSO_URL_LOGGING")) > 0 {
gri, err := builder.ToGetRequestInformation(ctx, options)
if err != nil {
logger.Ctx(ctx).Errorw("getting builder info", "error", err)
} else {
uri, err := gri.GetUri()
if err != nil {
logger.Ctx(ctx).Errorw("getting builder uri", "error", err)
} else {
logger.Ctx(ctx).Infow("contact builder", "user", user, "directoryID", directoryID, "uri", uri)
}
}
}
added, removed, deltaURL, err := getItemsAddedAndRemovedFromContainer(ctx, pgr)
if err != nil {
return nil, nil, DeltaUpdate{}, err

View File

@ -3,6 +3,7 @@ package api
import (
"context"
"fmt"
"os"
"time"
"github.com/alcionai/clues"
@ -17,6 +18,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/graph/api"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/logger"
"github.com/alcionai/corso/src/pkg/path"
)
@ -272,6 +274,20 @@ func (c Events) GetAddedAndRemovedItemIDs(
builder := users.NewItemCalendarsItemEventsDeltaRequestBuilder(rawURL, service.Adapter())
pgr := &eventPager{service, builder, nil}
if len(os.Getenv("CORSO_URL_LOGGING")) > 0 {
gri, err := builder.ToGetRequestInformation(ctx, nil)
if err != nil {
logger.Ctx(ctx).Errorw("getting builder info", "error", err)
} else {
uri, err := gri.GetUri()
if err != nil {
logger.Ctx(ctx).Errorw("getting builder uri", "error", err)
} else {
logger.Ctx(ctx).Infow("calendar builder", "user", user, "directoryID", calendarID, "uri", uri)
}
}
}
added, removed, deltaURL, err := getItemsAddedAndRemovedFromContainer(ctx, pgr)
if err != nil {
return nil, nil, DeltaUpdate{}, err

View File

@ -3,6 +3,7 @@ package api
import (
"context"
"fmt"
"os"
"github.com/alcionai/clues"
"github.com/microsoft/kiota-abstractions-go/serialization"
@ -15,6 +16,7 @@ import (
"github.com/alcionai/corso/src/internal/connector/graph/api"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/logger"
"github.com/alcionai/corso/src/pkg/selectors"
)
@ -283,6 +285,20 @@ func (c Mail) GetAddedAndRemovedItemIDs(
builder := service.Client().UsersById(user).MailFoldersById(directoryID).Messages().Delta()
pgr := &mailPager{service, builder, options}
if len(os.Getenv("CORSO_URL_LOGGING")) > 0 {
gri, err := builder.ToGetRequestInformation(ctx, options)
if err != nil {
logger.Ctx(ctx).Errorw("getting builder info", "error", err)
} else {
uri, err := gri.GetUri()
if err != nil {
logger.Ctx(ctx).Errorw("getting builder uri", "error", err)
} else {
logger.Ctx(ctx).Infow("mail builder", "user", user, "directoryID", directoryID, "uri", uri)
}
}
}
added, removed, deltaURL, err := getItemsAddedAndRemovedFromContainer(ctx, pgr)
if err != nil {
return nil, nil, DeltaUpdate{}, err

View File

@ -4,6 +4,7 @@ import (
"net/http"
"net/http/httputil"
"os"
"strings"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
@ -263,6 +264,12 @@ func (handler *LoggingMiddleware) Intercept(
resp, err = pipeline.Next(req, middlewareIndex)
)
if len(os.Getenv("CORSO_URL_LOGGING")) > 0 {
if strings.Contains(req.URL.String(), "users//") {
logger.Ctx(ctx).Errorw("malformed request url: missing user", "url", req.URL)
}
}
if resp == nil {
return resp, err
}