Implement HTTPS distributor with comparable feature set to bridgedb implementation
This would be one of steps of decommissioning bridgedb.
Here are estimated change set:
- Include a second translation system: go-i18n does not support
po
translation file or getting strings to translate from go templates. spreak will be used instead to reduce engineering required to develop the tools to work with go-i18n, with the downside of creating some technological debt. - Receive parameters from request like language, page being accessed, and when requesting bridge: what type of bridge are being requested. (!!
I don't know how language preference work yet, ask it tomorrow.It is already broken in bridgedb, no need to worry about regression) - Create html rendering pipeline.
- Transplant the bridgedb html templates to get it working with new go template based rendering pipeline environment.
- Implement parameterized bridge request, as the client can request different kinds of bridge. (This would need to add a GetManyFiltered(k Hashkey, num int, filter FilterFunc) method to Hashring)
- Supply bridge line response to bridge response page.
The initial result will not comes with more advanced things like csrf token. Let's hope it works well enough it wouldn't be necessary.