Package fi.iki.elonen
Class SimpleWebServer
java.lang.Object
fi.iki.elonen.NanoHTTPD
fi.iki.elonen.SimpleWebServer
-
Nested Class Summary
Nested classes/interfaces inherited from class fi.iki.elonen.NanoHTTPD
NanoHTTPD.AsyncRunner, NanoHTTPD.ClientHandler, NanoHTTPD.ContentType, NanoHTTPD.Cookie, NanoHTTPD.CookieHandler, NanoHTTPD.DefaultAsyncRunner, NanoHTTPD.DefaultServerSocketFactory, NanoHTTPD.DefaultTempFile, NanoHTTPD.DefaultTempFileManager, NanoHTTPD.HTTPSession, NanoHTTPD.IHTTPSession, NanoHTTPD.Method, NanoHTTPD.Response, NanoHTTPD.ResponseException, NanoHTTPD.SecureServerSocketFactory, NanoHTTPD.ServerRunnable, NanoHTTPD.ServerSocketFactory, NanoHTTPD.TempFile, NanoHTTPD.TempFileManager, NanoHTTPD.TempFileManagerFactory -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprivate static final Stringprivate final String(package private) static final StringDefault Index file names.private static final StringThe distribution licenceprivate static final intprivate static Map<String, WebServerPlugin> private final booleanFields inherited from class fi.iki.elonen.NanoHTTPD
asyncRunner, MIME_HTML, MIME_PLAINTEXT, MIME_TYPES, SOCKET_READ_TIMEOUT -
Constructor Summary
ConstructorsConstructorDescriptionSimpleWebServer(String host, int port, File wwwroot, boolean quiet) SimpleWebServer(String host, int port, File wwwroot, boolean quiet, String cors) SimpleWebServer(String host, int port, List<File> wwwroots, boolean quiet) SimpleWebServer(String host, int port, List<File> wwwroots, boolean quiet, String cors) -
Method Summary
Modifier and TypeMethodDescriptionprotected NanoHTTPD.ResponseaddCORSHeaders(Map<String, String> queryHeaders, NanoHTTPD.Response resp, String cors) private StringcalculateAllowHeaders(Map<String, String> queryHeaders) private booleancanServeUri(String uri, File homeDir) private NanoHTTPD.ResponsedefaultRespond(Map<String, String> headers, NanoHTTPD.IHTTPSession session, String uri) private StringURL-encodes everything between "/"-characters.private StringfindIndexFileInDirectory(File directory) protected NanoHTTPD.Responseprotected NanoHTTPD.Responseprotected NanoHTTPD.Responsevoidinit()Used to initialize and customize the server.protected StringlistDirectory(String uri, File f) static voidStarts as a standalone file server and waits for Enter.private NanoHTTPD.ResponsenewFixedFileResponse(File file, String mime) static NanoHTTPD.ResponsenewFixedLengthResponse(NanoHTTPD.Response.IStatus status, String mimeType, String message) protected static voidregisterPluginForMimeType(String[] indexFiles, String mimeType, WebServerPlugin plugin, Map<String, String> commandLineOptions) private NanoHTTPD.Responseserve(NanoHTTPD.IHTTPSession session) Override this to customize the server.(package private) NanoHTTPD.ResponseServes file from homeDir and its' subdirectories (only).Methods inherited from class fi.iki.elonen.NanoHTTPD
closeAllConnections, createClientHandler, createServerRunnable, decodeParameters, decodeParameters, decodePercent, getHostname, getListeningPort, getMimeTypeForFile, getServerSocketFactory, getTempFileManagerFactory, isAlive, makeSecure, makeSSLSocketFactory, makeSSLSocketFactory, makeSSLSocketFactory, mimeTypes, newChunkedResponse, newFixedLengthResponse, newFixedLengthResponse, serve, setAsyncRunner, setServerSocketFactory, setTempFileManagerFactory, start, start, start, stop, useGzipWhenAccepted, wasStarted
-
Field Details
-
INDEX_FILE_NAMES
Default Index file names. -
LICENCE
The distribution licence -
mimeTypeHandlers
-
quiet
private final boolean quiet -
cors
-
rootDirs
-
ALLOWED_METHODS
- See Also:
-
MAX_AGE
private static final int MAX_AGE- See Also:
-
DEFAULT_ALLOWED_HEADERS
- See Also:
-
ACCESS_CONTROL_ALLOW_HEADER_PROPERTY_NAME
- See Also:
-
-
Constructor Details
-
SimpleWebServer
-
SimpleWebServer
-
SimpleWebServer
-
SimpleWebServer
-
-
Method Details
-
main
Starts as a standalone file server and waits for Enter. -
registerPluginForMimeType
-
canServeUri
-
encodeUri
URL-encodes everything between "/"-characters. Encodes spaces as '%20' instead of '+'. -
findIndexFileInDirectory
-
getForbiddenResponse
-
getInternalErrorResponse
-
getNotFoundResponse
-
init
public void init()Used to initialize and customize the server. -
listDirectory
-
newFixedLengthResponse
public static NanoHTTPD.Response newFixedLengthResponse(NanoHTTPD.Response.IStatus status, String mimeType, String message) -
respond
private NanoHTTPD.Response respond(Map<String, String> headers, NanoHTTPD.IHTTPSession session, String uri) -
defaultRespond
private NanoHTTPD.Response defaultRespond(Map<String, String> headers, NanoHTTPD.IHTTPSession session, String uri) -
serve
Description copied from class:NanoHTTPDOverride this to customize the server. (By default, this returns a 404 "Not Found" plain text error response.) -
serveFile
Serves file from homeDir and its' subdirectories (only). Uses only URI, ignores all headers and HTTP parameters. -
newFixedFileResponse
private NanoHTTPD.Response newFixedFileResponse(File file, String mime) throws FileNotFoundException - Throws:
FileNotFoundException
-
addCORSHeaders
protected NanoHTTPD.Response addCORSHeaders(Map<String, String> queryHeaders, NanoHTTPD.Response resp, String cors) -
calculateAllowHeaders
-