src/Pure/Tools/flarum.scala
author wenzelm
Wed, 15 Dec 2021 19:41:30 +0100
changeset 74945 4dc90b43ba94
child 74946 0dd14d8b16da
permissions -rw-r--r--
support for Flarum server;

/*  Title:      Pure/General/flarum.scala
    Author:     Makarius

Support for Flarum forum server: https://flarum.org
*/

package isabelle


import java.net.URL


object Flarum
{
  // see RFC3339 in https://www.php.net/manual/en/class.datetimeinterface.php
  val Date_Format = Date.Format("uuuu-MM-dd'T'HH:mm:ssxxx")

  def server(url: URL): Server = new Server(url)

  class Server private[Flarum](url: URL)
  {
    override def toString: String = url.toString

    def get(route: String): HTTP.Content =
      HTTP.Client.get(new URL(url, route))

    val api: JSON.T = get("api").json
  }
}