diff options
author | xengineering <me@xengineering.eu> | 2023-06-30 13:07:12 +0200 |
---|---|---|
committer | xengineering <me@xengineering.eu> | 2023-06-30 13:07:12 +0200 |
commit | 8b608265772ba5df13d24071117c694bdfd1212a (patch) | |
tree | d78bbd26a438e645c807f6a917b4101d20fe18b1 /xmpp/router.go | |
parent | 372575cd38a939d1c8f412c8cea653c86bc725df (diff) | |
download | limox-8b608265772ba5df13d24071117c694bdfd1212a.tar limox-8b608265772ba5df13d24071117c694bdfd1212a.tar.zst limox-8b608265772ba5df13d24071117c694bdfd1212a.zip |
Add session pointer to routing infrastructure
It is nearly useless to route a XML element to an appropriate handler
function if the latter has no idea how to send responses to the server
or the GUI. Passing a pointer to the session solves this issue.
Diffstat (limited to 'xmpp/router.go')
-rw-r--r-- | xmpp/router.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/xmpp/router.go b/xmpp/router.go index 879579d..bd619b4 100644 --- a/xmpp/router.go +++ b/xmpp/router.go @@ -12,7 +12,7 @@ import ( // entry of the routingTable. type routingTable []struct { name xml.Name - handler func([]xml.Token) + handler func(*session, []xml.Token) } // getRoutingTable returns the routing table used in @@ -29,7 +29,7 @@ func getRoutingTable() routingTable { // route determines the correct handler function for the given XML element by a // given routingTable. In addition it executes the determined handler function. // If no handler function is found an error message is send via the log module. -func route(e []xml.Token, t routingTable) { +func route(s *session, e []xml.Token, t routingTable) { var name xml.Name // TODO a stronger definition of an XML element (as here @@ -50,7 +50,7 @@ func route(e []xml.Token, t routingTable) { for _, r := range t { if name == r.name { - r.handler(e) + r.handler(s, e) return } } |