diff --git a/lib/web/peer_routes.dart b/lib/web/peer_routes.dart index aa70506..23390fa 100644 --- a/lib/web/peer_routes.dart +++ b/lib/web/peer_routes.dart @@ -171,7 +171,8 @@ class PeerRoutes { Future _deletePeer(Request request) async { try { - final publicKey = request.params['publicKey']; + final rawPublicKey = request.params['publicKey']; + final publicKey = rawPublicKey != null ? Uri.decodeComponent(rawPublicKey) : null; if (publicKey == null || publicKey.isEmpty) { return Response.badRequest( @@ -205,7 +206,8 @@ class PeerRoutes { Future _getPeerConfig(Request request) async { try { - final publicKey = request.params['publicKey']; + final rawPublicKey = request.params['publicKey']; + final publicKey = rawPublicKey != null ? Uri.decodeComponent(rawPublicKey) : null; if (publicKey == null || publicKey.isEmpty) { return Response.badRequest( @@ -237,7 +239,8 @@ class PeerRoutes { Future _setSpeedLimit(Request request) async { try { - final publicKey = request.params['publicKey']; + final rawPublicKey = request.params['publicKey']; + final publicKey = rawPublicKey != null ? Uri.decodeComponent(rawPublicKey) : null; final body = await request.readAsString(); final data = jsonDecode(body) as Map; final bytesPerSecond = data['bytesPerSecond'] as int?; @@ -284,7 +287,8 @@ class PeerRoutes { Future _setDataCap(Request request) async { try { - final publicKey = request.params['publicKey']; + final rawPublicKey = request.params['publicKey']; + final publicKey = rawPublicKey != null ? Uri.decodeComponent(rawPublicKey) : null; final body = await request.readAsString(); final data = jsonDecode(body) as Map; final quotaBytes = data['quotaBytes'] as int?;