fix(BUX-497): Routes are hardcoded instead of initialized by configured capabilities #71
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.
Pull Request Checklist
Initially, the main task was to fix the bug that the routes of capabilities were hardcoded, regardless of what was configured.
That led to introduce
CallableCapability
&StaticCapability
types, which are used to configure capabilities and automatically configure the router.TL;DR What has been done:
/.well-known/bsvalias
(for now, we have only one static capability -BRFCSenderValidation
)CapabilitiesPaylod
, now set appropriate boolean flags inConfiguration
structWithCapabilities
config function did not make much sense, because although it was possible to add custom capabilities, the hard-coded router was not able to handle them.CallableCapability
'ies, which contain handlers for each capability, it is possible to add custom capabilities which will be automatically configured by the router.server.server_test.go
there was a commented out test, named 'run server'/.well-known/
endpoint as well as all discovered capabilities are availablenet/http/httptest
package to test the serverrun_server
example work on localhost with additional&optional custom capabilitiesshowCapabilities
and methodEnrichCapabilities
have been refactored and adjusted to the new capabilities conceptTODOs
have been resolved