@NonNull
    public static Single<Response> putJsonRequest(final String uri, final BaseJsonNode json) {
        final Request request = new Request.Builder().url(uri).put(RequestBody.create(MEDIA_TYPE_APPLICATION_JSON,
                json.toString())).build();
        return RxOkHttpUtils.request(OK_HTTP_CLIENT, request);
    }
PUT HTTP request with Json POST DATA

@param uri  the URI to request
@param json the json object to add to the POST request
@return a single with the HTTP response, or an IOException
main/src/main/java/cgeo/geocaching/network/Network.java