packages-http
packages-http copied to clipboard
The SWI-Prolog HTTP server and client libraries
Especially for web services, it would be great if there were a mode that works as securely as sensible *by default*, and can be *easily enabled*, for example via an option such as...
Analogous to `library(http/http_log)`, please consider providing **`library(http/http_status)`**. This library could gather and display **status information** about the running server. I would like to include it simply via: :- use_module(library(http/http_status)). :- http_handler('/my-server-status',...
Just setup a server using LetsEncrypt! Thanks to https://github.com/triska/letswicrypt that wasn't too hard. LetsEncrypt! certificates expire quickly though. Setting up automatic renewal of the certificates themselves isn't too hard, but...
With pull request https://github.com/SWI-Prolog/packages-ssl/pull/86, `ssl_session/2` also reports the negotiated **cipher**. In my view, this information should be made available in log files, to gather statistics about the capabilities of clients that typically visit,...
I am filing this as an HTTP issue because this is where I have found a case that is easy to reproduce, and it is also where this issue affects...
When I set `timeout/1` in an HTTPS server, I get about **twice** the timeout that I actually set. As a test case, place **`https_server.pl`** in `packages-ssl`, consisting of: :- use_module(library(http/thread_httpd))....
Please consider making `http_open/3` an **autoloaded** predicate. For example, `load_html/3` is also autoloaded, and it would be much more useful if we could readily provide an HTTP stream to it. Thank...
Steps to reproduce: 1. Start the echo server that is shown in the documentation of `library(http/websocket)`, using: ``` ?- http_server(http_dispatch, [port(8090)]). ``` 2. Use the following JavaScript line to establish...
My goal is to see debug messages on the console with the HTTP Unix daemon in combination with `thread_httpd`. When I start with a very simple server template, `server.pl`: ```...
Suppose I relay a `POST` request, and I want to use the exact same `content_type` as in the original request. I do: ``` ..., memberchk(content_type(Type), Request), http_post(Target, codes(Type,Codes), _, [])...