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 String
private static final String
private final String
(package private) static final String
Default Index file names.private static final String
The distribution licenceprivate static final int
private static Map
<String, WebServerPlugin> private final boolean
Fields 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.Response
addCORSHeaders
(Map<String, String> queryHeaders, NanoHTTPD.Response resp, String cors) private String
calculateAllowHeaders
(Map<String, String> queryHeaders) private boolean
canServeUri
(String uri, File homeDir) private NanoHTTPD.Response
defaultRespond
(Map<String, String> headers, NanoHTTPD.IHTTPSession session, String uri) private String
URL-encodes everything between "/"-characters.private String
findIndexFileInDirectory
(File directory) protected NanoHTTPD.Response
protected NanoHTTPD.Response
protected NanoHTTPD.Response
void
init()
Used to initialize and customize the server.protected String
listDirectory
(String uri, File f) static void
Starts as a standalone file server and waits for Enter.private NanoHTTPD.Response
newFixedFileResponse
(File file, String mime) static NanoHTTPD.Response
newFixedLengthResponse
(NanoHTTPD.Response.IStatus status, String mimeType, String message) protected static void
registerPluginForMimeType
(String[] indexFiles, String mimeType, WebServerPlugin plugin, Map<String, String> commandLineOptions) private NanoHTTPD.Response
serve
(NanoHTTPD.IHTTPSession session) Override this to customize the server.(package private) NanoHTTPD.Response
Serves 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:NanoHTTPD
Override 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
-