Package org.ka2ddo.yaac.webserver


package org.ka2ddo.yaac.webserver
The package contains the classes that implement YAAC's mini webserver, which allows other users on the YAAC computer's LAN to effectively "look over the shoulder" of the YAAC operator, seeing the main views of YAAC as browseable web pages.

The HttpServer class is the main thread that accepts inbound connections from browsers, defaulting to listening on TCP port 8008 (because the normal HTTP port 80 is often considered as "privileged" and therefore not allocatable by non-administrator users).

HttpConnectionThread serves one browser connection, and can launch a page for any registered URL that is provided by a class extending the PathHandler abstract class. Pages currently implemented in core YAAC include:

URLClassFunction
/IndexPagehome page displaying a title, the map, and links to other pages
/map.pngMapPagethe actual map image in PNG format
/stationsStationsPagethe Stations/Objects list as a table
/icon/*IconPageone of the APRS symbol images as specified by the following path
/bulletinsBulletinsPagethe Bulletin Board display
/messagesMessagesPagethe Raw messages (not Raw Packets) view
/history/callsignHistoryPagethe per-station raw packets view
/monitor/digiMonitorDigiPagepage of health-monitored digipeater and I-gate stations
/monitor/stationsMonitorStationsPagepage of health-monitored stations of all types
/monitor/wxMonitorWxPagepage of health-monitored weather stations
/robots.txtRobotsTxtPagerobots.txt page to block web spiders from surfing the entire mini-webserver
/special.nodes
/special.ways
FileCopierPagedownload this YAAC instance's special OSM files for supplementing the OSM map rendering
URLs of defined pages in mini-webserver

Adding other pages will require obtaining the HttpServer instance to register the new page handlers with appropriate URLs. Some plugins either do this with the core YAAC HttpServer instance, or with another instance created for that plugin's own purposes.

  • Class
    Description
    This is a tagging interface to specify that the page has cleared the requestHeaders map and reloaded it with attributes for the response.
    This generates an HTML page representing the current state of the Bulletin Board view in YAAC.
    This is a tagging interface to mark that the webpage produced by its implementing class may be cached by the browser or intervening proxy servers.
    This class exports the YAAC icon in taskbar size as the website's favicon.ico file.
    This class defines a HTTP page for copying a file from this YAAC installation to another.
    Enumeration specifying the base directory for the relative path of the exported file.
    This generates a page representing the message history for a particular station or object.
    This class processes one inbound HTTP connection.
    This class implements a very simple HTTP server.
    This "page" delivers the PNG encoding of a APRS symbol icon.
    This class generates the home page for the mini webserver inside YAAC.
    Helper class containing per-table-column formatting information for producing HTML tables in one of the dynamic web pages.
    This class dynamically generates a PNG image of the current map as seen on the YAAC GUI.
    This generates an HTML page representing the Messages view in YAAC.
    This generates an HTML page representing the digipeater and I-gate stations monitored for health by this station.
    This generates an HTML page representing the stations monitored for health by this station.
    This generates an HTML page representing the weather stations monitored for health by this station.
    This is the generic web page generator class which should be subclassed to produce a particular page.
    This page produces a robots.txt file contents to try to prevent web spiders from navigating the entire website in YAAC.
    This generates an HTML page representing the Stations/Objects view in YAAC.
    This page displays the current status from the local weather station (if any) attached to this APRS station.