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.

See:
          Description

Interface Summary
AttributedPage This is a tagging interface to specify that the page has cleared the requestHeaders map and reloaded it with attributes for the response.
CacheablePage 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.
 

Class Summary
BulletinsPage This generates an HTML page representing the current state of the Bulletin Board view in YAAC.
FavIcon This class exports the YAAC icon in taskbar size as the website's favicon.ico file.
FileCopierPage This class defines a HTTP page for copying a file from this YAAC installation to another.
HistoryPage This generates a page representing the message history for a particular station or object.
HttpConnectionThread This class processes one inbound HTTP connection.
HttpServer This class implements a very simple HTTP server.
IconPage This "page" delivers the PNG encoding of a APRS symbol icon.
IndexPage This class generates the home page for the mini webserver inside YAAC.
MapPage This class dynamically generates a PNG image of the current map as seen on the YAAC GUI.
MessagesPage This generates an HTML page representing the Messages view in YAAC.
MonitorWxPage This generates an HTML page representing the weather stations monitored for health by this station.
PathHandler This is the generic web page generator class which should be subclassed to produce a particular page.
RobotsTxtPage This page produces a robots.txt file contents to try to prevent web spiders from navigating the entire website in YAAC.
StationsPage This generates an HTML page representing the Stations/Objects view in YAAC.
 

Enum Summary
FileCopierPage.PathType Enumeration specifying the base directory for the relative path of the exported file.
 

Package org.ka2ddo.yaac.webserver Description

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 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
URLs of defined pages in mini-webserver

Adding other pages will require modifying HttpConnectionThread to register the new page handlers with appropriate URLs.