package com.silverforge.webconnector;
import com.silverforge.webconnector.definitions.Connectable;
import com.silverforge.webconnector.definitions.HttpMethod;
import com.silverforge.webconnector.exceptions.SettingsIsNullException;
import com.silverforge.webconnector.model.ConnectorSettings;
import com.silverforge.webconnector.model.InvokeBinaryResult;
import com.silverforge.webconnector.model.InvokeStringResult;
import java.net.URISyntaxException;
import rx.Observable;
public class EndpointConnector
extends Connector
implements Connectable {
public EndpointConnector(ConnectorSettings settings)
throws SettingsIsNullException, URISyntaxException {
super(settings);
}
// region Async methods
@Override
public Observable<byte[]> readBinaryContentAsync(String path) {
String httpMethod = HttpMethod.GET.toString();
return invokeToBinaryEndpointAsync(httpMethod, path);
}
@Override
public Observable<String> headAsync(String path) {
String httpMethod = HttpMethod.HEAD.toString();
return invokeToEndpointAsync(httpMethod, path);
}
@Override
public Observable<String> getAsync(String path) {
String httpMethod = HttpMethod.GET.toString();
return invokeToEndpointAsync(httpMethod, path);
}
@Override
public Observable<String> postAsync(String path, String data) {
String httpMethod = HttpMethod.POST.toString();
return invokeToEndpointAsync(httpMethod, path, data);
}
@Override
public Observable<String> putAsync(String path, String data) {
String httpMethod = HttpMethod.PUT.toString();
return invokeToEndpointAsync(httpMethod, path, data);
}
@Override
public Observable<String> deleteAsync(String path) {
return deleteAsync(path, STRING_EMPTY);
}
@Override
public Observable<String> deleteAsync(String path, String data) {
String httpMethod = HttpMethod.DELETE.toString();
return invokeToEndpointAsync(httpMethod, path, data);
}
// endregion
// region Sync methods
@Override
public InvokeBinaryResult readBinaryContent(String path) {
String httpMethod = HttpMethod.GET.toString();
return invokeToBinaryEndpoint(httpMethod, path);
}
@Override
public InvokeStringResult head(String path) {
String httpMethod = HttpMethod.HEAD.toString();
return invokeToEndpoint(httpMethod, path);
}
@Override
public InvokeStringResult get(String path) {
String httpMethod = HttpMethod.GET.toString();
return invokeToEndpoint(httpMethod, path);
}
@Override
public InvokeStringResult post(String path, String data) {
String httpMethod = HttpMethod.POST.toString();
return invokeToEndpoint(httpMethod, path, data);
}
@Override
public InvokeStringResult put(String path, String data) {
String httpMethod = HttpMethod.PUT.toString();
return invokeToEndpoint(httpMethod, path, data);
}
@Override
public InvokeStringResult delete(String path) {
return delete(path, STRING_EMPTY);
}
@Override
public InvokeStringResult delete(String path, String data) {
String httpMethod = HttpMethod.DELETE.toString();
return invokeToEndpoint(httpMethod, path, data);
}
// endregion
}