Support ID-based HTTP paths for exposed Things #1464
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements support for using Thing id fields to generate HTTP endpoint paths, addressing production concerns with title-based URL derivation. While keeping backward compatibility, it introduces a configurable approach to handle URL path generation.
Problem Statement
As explained in #1458, the current HTTP binding derives endpoint URLs exclusively from Thing titles through slug generation, which creates several issues:
Solution
Proposed behaviour:
Introduce a new configuration parameter in
HttpServerto use or not the title slugfication to generate Thing paths. For backward compatibility, this feature is true by default. So basically, if the node-wot user wants to have only paths generated with thething.id, it has to:Key Changes
Note
Remember that
idis optional in Thing Description 1.1, therefore, even withdevFriendlyUriset tofalse, node-wot might generate Things path using the title.