use of org.infinispan.rest.configuration.RestServerConfigurationBuilder in project infinispan by infinispan.
the class BaseJsonTest method setup.
@BeforeClass
protected void setup() throws Exception {
cacheManager = TestCacheManagerFactory.createServerModeCacheManager(EndpointITSCI.INSTANCE, new ConfigurationBuilder());
cacheManager.getClassWhiteList().addRegexps(".*");
cacheManager.defineConfiguration(CACHE_NAME, getIndexCacheConfiguration().build());
RestServerConfigurationBuilder builder = new RestServerConfigurationBuilder();
int restPort = findFreePort();
builder.port(restPort);
restServer = new RestServer();
restServer.setServerManagement(new DummyServerManagement(), true);
restServer.start(builder.build(), cacheManager);
restClient = RestClient.forConfiguration(new RestClientConfigurationBuilder().addServer().host(restServer.getHost()).port(restServer.getPort()).build());
restCacheClient = restClient.cache(CACHE_NAME);
hotRodServer = startHotRodServer(cacheManager);
remoteCacheManager = createRemoteCacheManager();
remoteCache = remoteCacheManager.getCache(CACHE_NAME);
}
use of org.infinispan.rest.configuration.RestServerConfigurationBuilder in project infinispan by infinispan.
the class ServerConfigurationParser method configureDefaultEndpoint.
private void configureDefaultEndpoint(ConfigurationReader reader, String socketBinding, EndpointConfigurationBuilder endpoint) {
if (endpoint.connectors().isEmpty()) {
endpoint.addConnector(HotRodServerConfigurationBuilder.class).implicitConnector(true).startTransport(false).socketBinding(socketBinding);
RestServerConfigurationBuilder rest = endpoint.addConnector(RestServerConfigurationBuilder.class).implicitConnector(true).startTransport(false).socketBinding(socketBinding);
configureEndpoint(reader.getProperties(), endpoint, rest);
}
}
use of org.infinispan.rest.configuration.RestServerConfigurationBuilder in project infinispan by infinispan.
the class SinglePortTest method shouldUpgradeToHotRodThroughHTTP11UpgradeHeaders.
@Test
public void shouldUpgradeToHotRodThroughHTTP11UpgradeHeaders() {
// given
EmbeddedCacheManager cacheManager = TestCacheManagerFactory.createCacheManager(hotRodCacheConfiguration());
// Initialize a transport-less Hot Rod server
HotRodServerConfigurationBuilder hotRodServerBuilder = new HotRodServerConfigurationBuilder();
hotRodServerBuilder.startTransport(false);
hotRodServerBuilder.name(TestResourceTracker.getCurrentTestName());
hotrodServer = HotRodClientTestingUtil.startHotRodServer(cacheManager, hotRodServerBuilder);
// Initialize a transport-less REST server
restServer = new RestServer();
RestServerConfigurationBuilder restServerConfigurationBuilder = new RestServerConfigurationBuilder();
restServerConfigurationBuilder.startTransport(false);
restServerConfigurationBuilder.name(TestResourceTracker.getCurrentTestName());
restServer.setServerManagement(new DummyServerManagement(), true);
restServer.start(restServerConfigurationBuilder.build(), cacheManager);
// Initialize a Single Port server with routes to the Hot Rod and REST servers
HotRodServerRouteDestination hotrodDestination = new HotRodServerRouteDestination("hotrod", hotrodServer);
RestServerRouteDestination restDestination = new RestServerRouteDestination("rest", restServer);
SinglePortRouteSource singlePortSource = new SinglePortRouteSource();
Route<SinglePortRouteSource, HotRodServerRouteDestination> routeToHotRod = new Route<>(singlePortSource, hotrodDestination);
Route<SinglePortRouteSource, RestServerRouteDestination> routeToRest = new Route<>(singlePortSource, restDestination);
RouterConfigurationBuilder routerConfigurationBuilder = new RouterConfigurationBuilder();
routerConfigurationBuilder.singlePort().port(0).ip(InetAddress.getLoopbackAddress()).routing().add(routeToRest).add(routeToHotRod);
router = new Router(routerConfigurationBuilder.build());
router.start();
EndpointRouter endpointRouter = router.getRouter(EndpointRouter.Protocol.SINGLE_PORT).get();
String host = endpointRouter.getHost();
int port = endpointRouter.getPort();
// First off we verify that the HTTP side of things works
RestClientConfigurationBuilder builder = new RestClientConfigurationBuilder();
builder.addServer().host(host).port(port).protocol(Protocol.HTTP_11);
httpClient = RestClient.forConfiguration(builder.build());
CompletionStage<RestResponse> response = httpClient.cache(cacheManager.getCacheManagerConfiguration().defaultCacheName().get()).post("key", VALUE);
ResponseAssertion.assertThat(response).hasNoContent();
Assertions.assertThat(restServer.getCacheManager().getCache().size()).isEqualTo(1);
// Next up, the RemoteCacheManager
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.marshaller(new UTF8StringMarshaller());
configurationBuilder.addServer().host(host).port(port);
hotRodClient = new RemoteCacheManager(configurationBuilder.build());
Object value = hotRodClient.getCache().withDataFormat(DataFormat.builder().keyType(TEXT_PLAIN).valueType(TEXT_PLAIN).build()).get("key");
Assertions.assertThat(value).isEqualTo("test");
}
use of org.infinispan.rest.configuration.RestServerConfigurationBuilder in project infinispan by infinispan.
the class RestTestingUtil method createDefaultRestConfiguration.
public static RestServerConfigurationBuilder createDefaultRestConfiguration() {
RestServerConfigurationBuilder builder = new RestServerConfigurationBuilder();
builder.startTransport(false);
return builder;
}
use of org.infinispan.rest.configuration.RestServerConfigurationBuilder in project infinispan by infinispan.
the class EndpointConfigurationBuilder method create.
public EndpointConfiguration create(SocketBindingsConfiguration bindingsConfiguration, SecurityConfiguration securityConfiguration) {
boolean implicitSecurity = implicitConnectorSecurity && securityRealm() != null;
bindingsConfiguration.applySocketBinding(attributes.attribute(EndpointConfiguration.SOCKET_BINDING).get(), singlePortBuilder, singlePortBuilder);
List<ProtocolServerConfiguration> connectors = new ArrayList<>(connectorBuilders.size());
for (ProtocolServerConfigurationBuilder<?, ?> builder : connectorBuilders) {
bindingsConfiguration.applySocketBinding(builder.socketBinding(), builder, singlePortBuilder);
if (implicitSecurity) {
if (builder instanceof HotRodServerConfigurationBuilder) {
enableImplicitAuthentication(securityConfiguration, securityRealm(), (HotRodServerConfigurationBuilder) builder);
} else if (builder instanceof RestServerConfigurationBuilder) {
enableImplicitAuthentication(securityConfiguration, securityRealm(), (RestServerConfigurationBuilder) builder);
} else if (builder instanceof RespServerConfigurationBuilder) {
enableImplicitAuthentication(securityConfiguration, securityRealm(), (RespServerConfigurationBuilder) builder);
}
}
connectors.add(builder.create());
}
if (implicitSecurity) {
RealmConfiguration realm = securityConfiguration.realms().getRealm(securityRealm());
if (realm.hasFeature(ServerSecurityRealm.Feature.ENCRYPT)) {
singlePortBuilder.ssl().enable().sslContext(realm.serverSSLContext());
}
}
return new EndpointConfiguration(attributes.protect(), connectors, singlePortBuilder.create());
}
Aggregations