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

Get URLs from .well-known #451

Merged
merged 15 commits into from
Dec 3, 2023

Conversation

bitfl0wer
Copy link
Member

Closes #449.

  • Instance::from_root_url(root_url: &str, limited: bool): Creates a new Instance by trying to get the relevant instance urls (UrlBundle) from a root url. Shorthand for Instance::new(UrlBundle::from_root_domain(root_domain).await?)

  • UrlBundle::from_root_url(url: &str): Performs a few HTTP requests to try and retrieve a UrlBundle from an instance's root URL. The method tries to retrieve the UrlBundle via these three strategies, in order:

    • GET: $url/.well-known/spacebar -> Retrieve UrlBundle via $wellknownurl/api/policies/instance/domains
    • GET: $url/api/policies/instance/domains
    • GET: $url/policies/instance/domains

    The URL stored at .well-known/spacebar is the instance's API endpoint. The API stores the CDN and WSS URLs under the $api/policies/instance/domains endpoint. If all three of the above approaches fail, it is very likely that the instance is misconfigured, unreachable, or that a wrong URL was provided.

  • Add clippy warnings for: clippy::todo, clippy::unimplemented, clippy::dbg_macro, clippy::print_stdout, clippy::print_stderr

@bitfl0wer bitfl0wer added Type: Enhancement Enhances an existing feature or behaviour. Type: New feature labels Dec 3, 2023
@bitfl0wer bitfl0wer merged commit 081a938 into polyphony-chat:dev Dec 3, 2023
5 checks passed
@bitfl0wer bitfl0wer deleted the urls-from-well-known branch December 3, 2023 15:06
@bitfl0wer bitfl0wer mentioned this pull request Dec 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement Enhances an existing feature or behaviour. Type: New feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant