Search in sources :

Example 26 with Api

use of io.apiman.gateway.engine.beans.Api in project apiman by apiman.

the class RateLimitingPolicyTest method createTestContract.

/**
 * @return a test contract
 */
private ApiContract createTestContract() {
    Api api = new Api();
    api.setOrganizationId("ApiOrg");
    api.setApiId("Api");
    api.setVersion("1.0");
    Client app = new Client();
    app.setApiKey("12345");
    app.setOrganizationId("AppOrg");
    app.setClientId("App");
    app.setVersion("1.0");
    return new ApiContract(api, app, "Gold", null);
}
Also used : Api(io.apiman.gateway.engine.beans.Api) Client(io.apiman.gateway.engine.beans.Client) ApiContract(io.apiman.gateway.engine.beans.ApiContract)

Example 27 with Api

use of io.apiman.gateway.engine.beans.Api in project apiman by apiman.

the class EBRegistryProxyHandler method listenProxyHandler.

@SuppressWarnings("nls")
default void listenProxyHandler(IAsyncResultHandler<Void> startupHandler) {
    log().info("Setting up a listener on: {0}", address());
    MessageConsumer<JsonObject> consumer = vertx().eventBus().consumer(address(), (Message<JsonObject> message) -> {
        String inboundUuid = message.body().getString("uuid");
        log().debug("[{0}] Handling command from inbound UUID: {1} {2}", uuid(), inboundUuid, message);
        if (shouldIgnore(inboundUuid))
            return;
        String type = message.body().getString("type");
        String action = message.body().getString("action");
        String body = message.body().getString("body");
        switch(type) {
            case "client":
                Client app = Json.decodeValue(body, Client.class);
                if (action.equals("register")) {
                    registerClient(app);
                } else if (action.equals("unregister")) {
                    unregisterClient(app);
                }
                break;
            case "api":
                Api api = Json.decodeValue(body, Api.class);
                if (action.equals("publish")) {
                    publishApi(api);
                } else if (action.equals("retire")) {
                    retireApi(api);
                }
                break;
            default:
                throw new IllegalStateException("Unknown type: " + type);
        }
    });
    consumer.completionHandler(complete -> {
        if (complete.succeeded()) {
            startupHandler.handle(AsyncResultImpl.create((Void) null));
        } else {
            startupHandler.handle(AsyncResultImpl.create(complete.cause()));
        }
    });
    consumer.exceptionHandler(ex -> {
        log().error("[{0}] An exception occurred: {1}", uuid(), ex);
        ex.printStackTrace();
    });
}
Also used : Message(io.vertx.core.eventbus.Message) JsonObject(io.vertx.core.json.JsonObject) Api(io.apiman.gateway.engine.beans.Api) Client(io.apiman.gateway.engine.beans.Client)

Example 28 with Api

use of io.apiman.gateway.engine.beans.Api in project apiman by apiman.

the class PolicyTester method retireApi.

/**
 * Retires the API, removing it from the engine.
 */
protected void retireApi() {
    Api api = new Api();
    api.setOrganizationId(orgId);
    api.setApiId(apiId);
    api.setVersion(String.valueOf(version));
    getEngine().getRegistry().retireApi(api, new IAsyncResultHandler<Void>() {

        @Override
        public void handle(IAsyncResult<Void> result) {
        // This is a good faith effort - we don't really care if it can't be retired.
        }
    });
}
Also used : Api(io.apiman.gateway.engine.beans.Api)

Example 29 with Api

use of io.apiman.gateway.engine.beans.Api in project apiman by apiman.

the class CachingEsRegistry method getApi.

/**
 * @see EsRegistry#getApi(java.lang.String, java.lang.String, java.lang.String, io.apiman.gateway.engine.async.IAsyncResultHandler)
 */
@Override
public void getApi(final String organizationId, final String apiId, final String apiVersion, final IAsyncResultHandler<Api> handler) {
    try {
        Api api = getApi(organizationId, apiId, apiVersion);
        handler.handle(AsyncResultImpl.create(api));
    } catch (IOException e) {
        handler.handle(AsyncResultImpl.create(e, Api.class));
    }
}
Also used : Api(io.apiman.gateway.engine.beans.Api) IOException(java.io.IOException)

Example 30 with Api

use of io.apiman.gateway.engine.beans.Api in project apiman by apiman.

the class EsRegistry method getApi.

/**
 * @see io.apiman.gateway.engine.IRegistry#getApi(java.lang.String, java.lang.String, java.lang.String, io.apiman.gateway.engine.async.IAsyncResultHandler)
 */
@Override
public void getApi(String organizationId, String apiId, String apiVersion, IAsyncResultHandler<Api> handler) {
    String id = getApiId(organizationId, apiId, apiVersion);
    try {
        Api api = getApi(id);
        handler.handle(AsyncResultImpl.create(api));
    } catch (IOException e) {
        handler.handle(AsyncResultImpl.create(e, Api.class));
    }
}
Also used : Api(io.apiman.gateway.engine.beans.Api) IOException(java.io.IOException)

Aggregations

Api (io.apiman.gateway.engine.beans.Api)41 Client (io.apiman.gateway.engine.beans.Client)16 ApiContract (io.apiman.gateway.engine.beans.ApiContract)11 Contract (io.apiman.gateway.engine.beans.Contract)10 Policy (io.apiman.gateway.engine.beans.Policy)10 PublishingException (io.apiman.gateway.engine.beans.exceptions.PublishingException)10 ApiNotFoundException (io.apiman.gateway.engine.beans.exceptions.ApiNotFoundException)8 ApiRetiredException (io.apiman.gateway.engine.beans.exceptions.ApiRetiredException)8 NoContractFoundException (io.apiman.gateway.engine.beans.exceptions.NoContractFoundException)8 ClientNotFoundException (io.apiman.gateway.engine.beans.exceptions.ClientNotFoundException)7 ApiGatewayBean (io.apiman.manager.api.beans.apis.ApiGatewayBean)7 ApiVersionBean (io.apiman.manager.api.beans.apis.ApiVersionBean)7 StorageException (io.apiman.manager.api.core.exceptions.StorageException)7 IGatewayLink (io.apiman.manager.api.gateway.IGatewayLink)7 ArrayList (java.util.ArrayList)7 Date (java.util.Date)7 RegistrationException (io.apiman.gateway.engine.beans.exceptions.RegistrationException)6 ApiBean (io.apiman.manager.api.beans.apis.ApiBean)6 ActionException (io.apiman.manager.api.rest.exceptions.ActionException)6 ApiVersionNotFoundException (io.apiman.manager.api.rest.exceptions.ApiVersionNotFoundException)6