From ff48f246f69529102b497dc1de627b8a70f7218f Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 22 Apr 2019 17:03:45 +0200 Subject: [PATCH] web server: Treat upgrade requests as case-insensitive. * 8sync/systems/web.scm (maybe-upgrade-request): Compare using string-ci=? Fixes upgrade request for "WebSocket". --- 8sync/systems/web.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/8sync/systems/web.scm b/8sync/systems/web.scm index a6ee696..7381f14 100644 --- a/8sync/systems/web.scm +++ b/8sync/systems/web.scm @@ -1,5 +1,6 @@ ;;; 8sync --- Asynchronous programming for Guile ;;; Copyright © 2017 Christopher Allan Webber +;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen ;;; ;;; Code (also under the LGPL) borrowed from fibers: ;;; Copyright © 2016 Andy Wingo @@ -32,6 +33,7 @@ #:use-module (web server) #:use-module (rnrs io ports) #:use-module (8sync) + #:use-module ((srfi srfi-1) #:select (assoc)) #:export ( ;; @@: If we don't want to import these because of ;; "conflicts" with other objects, we could just @@ -149,7 +151,7 @@ as we're alive." (let loop ((upgrades (request-upgrade request))) (if (eq? upgrades '()) #f ; Shouldn't upgrade - (match (assoc (car upgrades) upgrade-paths) + (match (assoc (car upgrades) upgrade-paths string-ci=?) ;; Yes, upgrade with this method ((_ . upgrade-proc) upgrade-proc) -- 2.31.1