public static <T> Single<T> postRequest(final String uri, final Class<T> clazz, final Parameters params, final Parameters headers) {
        return request("POST", uri, params, headers, null).flatMap(getResponseData).map(js -> mapper.readValue(js, clazz));
    }
POST HTTP request and deserialize JSON answer

@param uri     the URI to request
@param clazz   the class to deserialize the JSON result to
@param params  the parameters to add to the GET request
@param headers the headers to add to the GET request
@param <T>     the type to deserialize to
@return a single with the deserialized value, or an IO exception
main/src/main/java/cgeo/geocaching/network/Network.java