Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improvement: WithAllowCreateWithEmptyURIs() suppresses errors due to empty URIs in NewClient() #693

Merged
merged 8 commits into from
Sep 27, 2024

Conversation

bmoylan
Copy link
Contributor

@bmoylan bmoylan commented Sep 24, 2024

Previously, it was impossible to create a client using refreshable URIs that are currently empty but may not be empty in the future. To handle this case but preserve the general validating behavior, this PR adds a new client option to explicitly allow empty URIs during client creation.

In the case URIs are empty at request time, an error is returned before any request is produced.

This is a prerequisite to implementing a commonly-requested feature in Witchcraft Go Server to mimic Dialogue's Client<T> that exposes an IsConfigured() bool method.


This change is Reviewable

@bmoylan
Copy link
Contributor Author

bmoylan commented Sep 24, 2024

I extracted some unrelated changes into #697

@@ -477,11 +477,7 @@ func newValidatedClientParamsFromConfig(ctx context.Context, config ClientConfig
}
uris = append(uris, uriStr)
}
// Plain HTTP clients do not store URIs
if !isHTTPClient && len(uris) == 0 {
return refreshingclient.ValidatedClientParams{}, werror.ErrorWithContextParams(ctx, "httpclient URLs must not be empty")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the bug fix -- this check was too early. It should be possible to "fix" the empty config with WithBaseURLs(...) or a variant, but in that case this would still fail because it operates only on the original ClientConfig struct.

@bulldozer-bot bulldozer-bot bot merged commit 34da4ee into develop Sep 27, 2024
6 checks passed
@bulldozer-bot bulldozer-bot bot deleted the bm/with-allow-create-with-empty-urls branch September 27, 2024 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants