// Package webpublic contains the public webserver // which provides the primary and only intended access point // for interacting with the system. // // # Sections // // - Frontend: Serves the various web frontend versions // - Main: The original Linstrom specific frontend // - NoJs: An entirely serverside rendered frontend, no JS included // - Custom: Custom frontend files will be served here // // - API: Endpoints for the actual interactions // - Frontend: The API used by the main frontend // - Masto: Mastodon compatible adapter for internal structures // - ActivityPub: For integration with the Fediverse via ActivityPub // - Linstrom-RPC: For Linstrom to Linstrom server communication // // # Guarantees // // - The Masto and ActivityPub API will remain stable // - Frontend API might change, but the intended consumer (Main frontend) // will always be up to date with the changes // - Linstrom-RPC API is versioned and will keep // a few versions of backwards compatibility // // TODO: Decide how long the Linstrom-RPC API will remain backwards compatible package webpublic import "net/http" type Server struct { server http.Server }