dendrite/appservice
Andrew Morgan 33a1392541
Encode URLs properly (#728)
We were escaping the URL before performing any pattern matching on it.
This meant that if you sent data that URLdecoded to a "/", it would count as
a "/" in the URL, potentially causing a 404. This was causing some flaky tests
with some randomly-generated query parameters.

Now, we keep URLs encoded while doing the pattern matching, and only afterwards
do we URL decode each query parameter individually before passing them to their
respective handler functions.

github.com/gorilla/mux was also updated to v1.7.3 to fix a bug with URL encoding and subrouters.
2019-07-03 16:38:50 +01:00
..
api use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
consumers use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
query use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
routing Encode URLs properly (#728) 2019-07-03 16:38:50 +01:00
storage use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
types use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
workers use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
appservice.go use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00
README.md use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00

Application Service

This component interfaces with external Application Services. This includes any HTTP endpoints that application services call, as well as talking to any HTTP endpoints that application services provide themselves.

Consumers

This component consumes and filters events from the Roomserver Kafka stream, passing on any necessary events to subscribing application services.