Re: QUERY-supporting http server online

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