public abstract class NanoHTTPD
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
NanoHTTPD.AsyncRunner
Pluggable strategy for asynchronously executing requests.
|
static class |
NanoHTTPD.DefaultAsyncRunner
Default threading strategy for NanoHttpd.
|
static class |
NanoHTTPD.DefaultTempFile
Default strategy for creating and cleaning up temporary files.
|
static class |
NanoHTTPD.DefaultTempFileManager
Default strategy for creating and cleaning up temporary files.
|
protected class |
NanoHTTPD.HTTPSession
Handles one session, i.e. parses the HTTP request and returns the
response.
|
static class |
NanoHTTPD.Method
HTTP Request methods, with the ability to decode a
String back to its enum value. |
static class |
NanoHTTPD.Response
HTTP response.
|
static interface |
NanoHTTPD.TempFile
A temp file.
|
static interface |
NanoHTTPD.TempFileManager
Temp file manager.
|
static interface |
NanoHTTPD.TempFileManagerFactory
Factory to create temp file managers.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MIME_DEFAULT_BINARY
Common mime type for dynamic content: binary
|
static java.lang.String |
MIME_HTML
Common mime type for dynamic content: html
|
static java.lang.String |
MIME_PLAINTEXT
Common mime type for dynamic content: plain text
|
Constructor and Description |
---|
NanoHTTPD(int port)
Constructs an HTTP server on given port.
|
NanoHTTPD(java.lang.String hostname,
int port)
Constructs an HTTP server on given hostname andport.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
decodeParameters(java.util.Map<java.lang.String,java.lang.String> parms)
Decode parameters from a URL, handing the case where a single parameter
name might have been supplied several times, by return lists of values.
|
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
decodeParameters(java.lang.String queryString)
Decode parameters from a URL, handing the case where a single parameter
name might have been supplied several times, by return lists of values.
|
protected java.lang.String |
decodePercent(java.lang.String str)
Decode percent encoded
String values. |
abstract NanoHTTPD.Response |
serve(java.lang.String uri,
NanoHTTPD.Method method,
java.util.Map<java.lang.String,java.lang.String> header,
java.util.Map<java.lang.String,java.lang.String> parms,
java.util.Map<java.lang.String,java.lang.String> files)
Override this to customize the server.
|
void |
setAsyncRunner(NanoHTTPD.AsyncRunner asyncRunner)
Pluggable strategy for asynchronously executing requests.
|
void |
setTempFileManagerFactory(NanoHTTPD.TempFileManagerFactory tempFileManagerFactory)
Pluggable strategy for creating and cleaning up temporary files.
|
void |
start()
Start the server.
|
void |
stop()
Stop the server.
|
public static final java.lang.String MIME_PLAINTEXT
public static final java.lang.String MIME_HTML
public static final java.lang.String MIME_DEFAULT_BINARY
public NanoHTTPD(int port)
public NanoHTTPD(java.lang.String hostname, int port)
public void start() throws java.io.IOException
java.io.IOException
- if the socket is in use.public void stop()
public abstract NanoHTTPD.Response serve(java.lang.String uri, NanoHTTPD.Method method, java.util.Map<java.lang.String,java.lang.String> header, java.util.Map<java.lang.String,java.lang.String> parms, java.util.Map<java.lang.String,java.lang.String> files)
uri
- Percent-decoded URI without parameters, for example
"/index.cgi"method
- "GET", "POST" etc.parms
- Parsed, percent decoded parameters from URI and, in case of
POST, data.header
- Header entries, percent decodedprotected java.lang.String decodePercent(java.lang.String str)
String
values.str
- the percent encoded String
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> decodeParameters(java.util.Map<java.lang.String,java.lang.String> parms)
parms
- original NanoHttpd parameters values, as passed to
the serve()
method.String
(parameter name)
to List<String>
(a list of the values supplied).protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> decodeParameters(java.lang.String queryString)
queryString
- a query string pulled from the URL.String
(parameter name)
to List<String>
(a list of the values supplied).public void setAsyncRunner(NanoHTTPD.AsyncRunner asyncRunner)
asyncRunner
- new strategy for handling threads.public void setTempFileManagerFactory(NanoHTTPD.TempFileManagerFactory tempFileManagerFactory)
tempFileManagerFactory
- new strategy for handling temp files.