Search in sources :

Example 1 with Status

use of fi.iki.elonen.NanoHTTPD.Response.Status in project wikidata-query-rdf by wikimedia.

the class Proxy method buildErrorStatus.

/**
 * Build a NanoHTTPD compatible IStatus for an error code.
 */
private static IStatus buildErrorStatus(int errorCode) {
    /*
         * Some codes aren't supported by NanoHTTPD "natively" so we add them
         * ourselves.
         */
    switch(errorCode) {
        case 503:
            return new SimpleStatus(503, "Internal server error");
        case 429:
            return new SimpleStatus(429, "Too many requests");
        default:
    }
    // If it is supported by NanoHTTPD use its status
    for (Status status : Status.values()) {
        if (status.getRequestStatus() == errorCode) {
            return status;
        }
    }
    // Otherwise throw the user an error
    CliUtils.ForbiddenOk.systemDotErr().printf(Locale.ROOT, "Unknown error code:  %s\n", errorCode);
    System.exit(1);
    return null;
}
Also used : Status(fi.iki.elonen.NanoHTTPD.Response.Status) IStatus(fi.iki.elonen.NanoHTTPD.Response.IStatus)

Aggregations

IStatus (fi.iki.elonen.NanoHTTPD.Response.IStatus)1 Status (fi.iki.elonen.NanoHTTPD.Response.Status)1