class DelegateHandler implements Refreshable, LoggableResource {

    protected String getDelegateName(final String uri) {
        /*
            URI could be:
                >  /gateleen/server/delegate/v1/delegates/user-zip-copy/definition
                >  /gateleen/server/delegate/v1/delegates/user-zip-copy/
                >  /gateleen/server/delegate/v1/delegates/user-zip-copy/execution
         */
        Matcher nameMatcher = delegateNamePattern.matcher(uri);

        if ( nameMatcher.matches() ) {
            return nameMatcher.group(NAME_GROUP_INDEX);
        }

        return null;
    }

    public  DelegateHandler(final Vertx vertx, final HttpClient selfClient, final ResourceStorage delegateStorage,
                           final MonitoringHandler monitoringHandler, final String delegatesUri,
                           final Map<String, Object> properties,
                           final Handler<Void> doneHandler);

}