- From: Will Hawkins <hawkinsw@obs.cr>
- Date: Mon, 16 Sep 2024 13:39:10 -0400
- To: Mark Nottingham <mnot@mnot.net>
- Cc: ietf-http-wg@w3.org
On Mon, Sep 16, 2024 at 10:41 AM Mark Nottingham <mnot@mnot.net> wrote: > > Thanks, Will - that's exciting. > > This makes me wonder if some work on QUERY prototyping / interop might be useful at the next hackathon... > I would absolutely be up for participating!! Thank you for the response! Will > Cheers, > > > > On 14 Sep 2024, at 11:52 PM, Will Hawkins <hawkinsw@obs.cr> wrote: > > > > Hello everyone! > > > > I just wanted to share a quick note about some work that I was doing > > to add QUERY support to freenginx. I hope that here is a decent place > > to post. I apologize if it is unhelpful. > > > > I have been working on adding support for QUERY to freenginx. As it > > stands, I have added support for the QUERY method. That alone, did not > > provide anything really _useful_ so I wrote a module that would > > _roughly_ emulate the examples in the current draft. The module is a > > front end for a SQLite database. > > > > The server is running on `query.obs.cr` and you can use curl to make > > QUERY requests. There are three tables available now in the database: > > ietf, contacts and contact (sic). > > > > The schema for `ietf` is > > > > ```SQL > > CREATE TABLE ietf (wg_name text, wg_descr text); > > ``` > > > > The schema for `contact` is > > > > ```SQL > > CREATE TABLE contact ("name" text, "handle" text); > > ``` > > > > and the schema for `contacts` is > > ```SQL > > CREATE TABLE contacts (surname text, givenname text, email text); > > ``` > > > > The tables contain only little bits of data and the data attempts to > > match the examples in the draft: > > > > ietf: > > | wg_name | wg_descr| > > | -- | -- | > > | httpbis | HTTP working group | > > > > contacts: > > | surname | givenname | email | > > | -- | -- | -- | > > |Smith|John|john.smith@example.org| > > |Jones|Sally|sally.jones@example.org| > > |Dubois|Camille|camille.dubois@example.org| > > > > contact: > > | name | handle | > > | -- | -- | > > | will | hawkinsw | > > > > (Sorry, I had to throw myself in there somehow!) > > > > The server currently works by extracting the final part of the URI's > > path and treating that as the name of the table to complete the SQL > > query embedded in the body of the QUERY request (like several of the > > draft's examples). So, if you wanted to see how it looks, you can use > > curl > > > > ```bash > > $ curl -X QUERY https://query.obs.cr/this/is/contact/ -d "select name, handle" > > ``` > > ```bash > > $ curl -X QUERY https://query.obs.cr/is/contact/ -d "select name, handle" > > ``` > > and > > ```bash > > $ curl -X QUERY https://query.obs.cr/contact/ -d "select name, handle" > > ``` > > > > will all result in > > > > ``` > > will,hawkinsw, > > ``` > > > > If anyone is interested in knowing more about this lark, please let me > > know! I would be more than happy to share. If you think that there are > > things that would be good to add, please let me know that, too! I am > > more than happy to add anything that would be helpful. My plan is to > > put something like this description on https://query.obs.cr but that > > might not be done before Monday. So, I wanted to post this here. > > > > Thanks for all the work that you all are doing! > > > > Sincerely, > > Will > > > > > > -- > Mark Nottingham https://www.mnot.net/ >
Received on Monday, 16 September 2024 17:54:10 UTC