19 lines
922 B
Go
19 lines
922 B
Go
// Package main contains the RadChat application entrypoint and HTTP handlers.
|
|
//
|
|
// RadChat is a lightweight, self-hostable voice/text chat with WebRTC for
|
|
// peer-to-peer media and WebSockets for control signaling. The package wires up
|
|
// HTTP routes for:
|
|
// - /ws: WebSocket endpoint for signaling (join/leave, ICE, offers/answers, chat)
|
|
// - /user-count: Small health/info endpoint returning connected users
|
|
// - /check-username: Validate username rules and collision checks
|
|
// - /files: Upload endpoint for ephemeral file sharing
|
|
// - /files/{id}: Download endpoint for previously uploaded files
|
|
//
|
|
// Static assets are served from ./static and include the single-page app (SPA)
|
|
// implemented in static/app.js.
|
|
//
|
|
// The main stateful coordination happens in the server subpackage via the Hub
|
|
// and Client types. This package (
|
|
// package main) creates, runs, and exposes that hub over HTTP.
|
|
package main
|