Skip to content

Commit

Permalink
Clarified how clients and back-ends should implement well-known disco…
Browse files Browse the repository at this point in the history
…very for `GET ./well-known/openeo` (#202)
  • Loading branch information
m-mohr committed Oct 23, 2019
1 parent 795ad82 commit 3cb3e7f
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed

- Service parameters and attributes in `GET /service_types` and output format parameters in `GET /file_formats` (previously `GET /output_formats`) now have a `type`, which was previously only mentioned in examples.
- Clarified how clients and back-ends should implement well-known discovery for `GET ./well-known/openeo`. [#202](https://github.com/Open-EO/openeo-api/issues/202)

## [0.4.2] - 2019-06-11

Expand Down
2 changes: 1 addition & 1 deletion openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@
"/.well-known/openeo": {
"get": {
"summary": "Supported openEO versions",
"description": "Well-Known URI for openEO, listing all implemented openEO versions supported by the service provider.\nThis allows clients to easily identify the best suited openEO implementation they can use. The Well-Known URI is the entry point for clients and users, so make sure it is permanent and easy to use and remember. Please note that this URL MUST NOT be versioned as the other endpoints.\nSee [RFC 5785](https://tools.ietf.org/html/rfc5785) for more information about Well-Known URIs.",
"description": "Well-Known URI (see [RFC 57855](https://tools.ietf.org/html/rfc5785)) for openEO, listing all implemented openEO versions supported by the service provider.\n\nThis allows a client to easily identify the most recent openEO implementation it supports. By default, a client SHOULD connect to the most recent production-ready version it supports. Clients MAY let users choose to connect to versions that are not procution-ready versions or outdated.\n\nThe Well-Known URI is the entry point for clients and users, so make sure it is permanent and easy to use and remember. Clients MUST NOT require the well-known path (`./well-known/openeo`) in the URL that is specified by a user to connect to the back-end. A client MUST request `https://example.com/.well-known/openeo` if a user tries to connect to `https://example.com`. If the request to the well-known URI fails, the client SHOULD try to request the capabilities at `/` from `https://example.com`.\n\n**This URI MUST NOT be versioned as the other endpoints.** If your API is available at `https://example.com/api/v1.0`, the Well-Known URI SHOULD be `https://example.com`.\n\nClients MAY get additional information (e.g. title or description) about a back-end from the most recent version that has the `production` flag set to `true`.",

This comment has been minimized.

Copy link
@soxofaan

soxofaan Oct 24, 2019

Member

procution-ready

production-ready

This comment has been minimized.

Copy link
@soxofaan

soxofaan Oct 24, 2019

Member

This URI MUST NOT be versioned as the other endpoints. If your API is available at https://example.com/api/v1.0, the Well-Known URI SHOULD be https://example.com.

two questions:

  • I think you meant the latter URI to be https://example.com/.well-known/openeo ?
  • in the https://example.com/api/v1.0 example, if you say "MUST NOT be versioned as the other endpoints", one might think that https://example.com/api/.well-known/openeo is also ok. Why not just say that it has to be a top level path directly after the domain name, regardless of versioning?

This comment has been minimized.

Copy link
@m-mohr

m-mohr Oct 25, 2019

Author Member

@soxofaan Thanks for the review. I fixed the mentioned issues here: 2895e4d

https://example.com/api is also okay, but not recommended (=> SHOULD). There may be cases where the top-level-domain is not available. For example, we as Institute for Geoinformatics of the Uni Münster could not host anything at https://uni-muenster.de, but only host it at https://uni-muenster.de/Geoinformatics. Therefore we try to get things to be hosted at the top-level if possible, but don't disallow sub-directories in the API.

"tags": [
"Capabilities"
],
Expand Down

0 comments on commit 3cb3e7f

Please sign in to comment.