From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vivien Kraus via General Guile related discussions Newsgroups: gmane.lisp.guile.user Subject: A Web client with cache for guile! Date: Sun, 21 Feb 2021 22:40:42 +0100 Message-ID: <684022aad3cc049995fe9df2244458f6b901ecc7.camel@planete-kraus.eu> Reply-To: Vivien Kraus Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29364"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.34.2 To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Sun Feb 21 22:47:41 2021 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lDwZp-0007Xb-09 for guile-user@m.gmane-mx.org; Sun, 21 Feb 2021 22:47:41 +0100 Original-Received: from localhost ([::1]:52294 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lDwZn-0005Ph-TO for guile-user@m.gmane-mx.org; Sun, 21 Feb 2021 16:47:39 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54350) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lDwZe-0005Pa-F2 for guile-user@gnu.org; Sun, 21 Feb 2021 16:47:30 -0500 Original-Received: from [2a00:5881:4008:2810::309] (port=48152 helo=planete-kraus.eu) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1lDwZc-0003iC-86 for guile-user@gnu.org; Sun, 21 Feb 2021 16:47:30 -0500 Original-Received: from planete-kraus.eu (localhost.lan [127.0.0.1]) by planete-kraus.eu (OpenSMTPD) with ESMTP id 7d63083f for ; Sun, 21 Feb 2021 21:40:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=planete-kraus.eu; h= message-id:subject:from:to:date:content-type:mime-version :content-transfer-encoding; s=*; bh=az9j6FSeO/2q3TXrttQXMhlyPR8=; b= GQC8jvO7TgmFHjIj8pdghcqutpBHCFSw8oIq9bm7wHUmY6EYa+JekEXDQYDwyNQr wiZVrWulHqUlMfJuhl0WfQf/Q24nl2B7i3oBZQZ6/h6uwBkjTScxqXEpvT/I1OOU tBW2Ij9eJicaFqd+1E41xxF0m+NbEIkSGp2VduvMv3M= Original-Received: by planete-kraus.eu (OpenSMTPD) with ESMTPSA id 030b2f6a (TLSv1.2:ECDHE-RSA-CHACHA20-POLY1305:256:NO) for ; Sun, 21 Feb 2021 21:40:44 +0000 (UTC) X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:5881:4008:2810::309 (failed) Received-SPF: pass client-ip=2a00:5881:4008:2810::309; envelope-from=vivien@planete-kraus.eu; helo=planete-kraus.eu X-Spam_score_int: 10 X-Spam_score: 1.0 X-Spam_bar: + X-Spam_report: (1.0 / 5.0 requ) BAYES_40=-0.001, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RDNS_NONE=0.793, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:17297 Archived-At: Dear guilers, With the help of promises and futures, I was able to write a small caching web client for guile. https://web-client-with-cache.planete-kraus.eu/ This is one step on my journey to write a Solid server for guile. Solid uses a decentralized authentication protocol ( https://solid.github.io/authentication-panel/solid-oidc/) which needs servers and identity providers to cache different types of files, such as openid configurations and the web profile of users and applications. The authentication protocol can be compared to the HTTP signatures used by Activitypub servers, except that Solid webid-oidc can work directly from a web browser. Solid servers themselves are required to provide web ETags for all the resources they manage, so a good client cache should understand Cache-Control headers (often used for offline caching of openid configurations) as well as the ETags. Because of the recent announce of the guile potluck on this list, combined with the recent release of guile-oauth, I thought there could be some shared interest for this subject. Best regards, Vivien