use of com.bluenimble.platform.json.JsonObject in project serverless by bluenimble.
the class DatabaseApiRequestTrack method tag.
@Override
public void tag(String name, String reason) {
if (Lang.isNullOrEmpty(name)) {
return;
}
JsonObject tag = Json.getObject(track, Fields.Tag.class.getSimpleName().toLowerCase());
if (tag == null) {
tag = new JsonObject();
track.set(Fields.Tag.class.getSimpleName().toLowerCase(), tag);
}
tag.set(Fields.Tag.Name, name);
tag.set(Fields.Tag.Reason, reason);
}
use of com.bluenimble.platform.json.JsonObject in project serverless by bluenimble.
the class SimplePostRequest method main.
public static void main(String[] args) throws Exception {
JsonObject spec = (JsonObject) new JsonObject().set("url", "http://discuss.bluenimble.com/api/users").set("headers", new JsonObject().set("Content-Type", "application/json").set("Authorization", "Token 3NpuOJs7BBYcUVyKswLQ1d7ETfvzTsJixSHZcFSm")).set("data", new JsonObject().set("data", new JsonObject().set("attributes", new JsonObject().set("username", "Simo").set("email", "loukili.mohammed@gmail.com").set("password", "Alph@2016"))));
HttpResponse response = Http.post(spec, null);
System.out.println("Status: " + response.getStatus());
HttpMessageBody body = response.getBody();
if (body == null || body.count() == 0) {
throw new Exception("response body is empty");
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
body.dump(out, "UTF-8", null);
System.out.println(new JsonObject(new String(out.toByteArray())));
}
use of com.bluenimble.platform.json.JsonObject in project serverless by bluenimble.
the class Http method request.
private static HttpRequest request(String verb, JsonObject spec, HttpRequestVisitor visitor) throws HttpClientException {
verb = verb.toUpperCase();
Class<? extends AbstractHttpRequest> requestClass = Requests.get(verb);
if (requestClass == null) {
throw new HttpClientException("unsupported http method " + verb);
}
String url = Json.getString(spec, Spec.Url);
AbstractHttpRequest request;
try {
request = requestClass.getConstructor(new Class[] { HttpEndpoint.class }).newInstance(HttpUtils.createEndpoint(new URI(url)));
} catch (Exception ex) {
throw new HttpClientException(ex.getMessage(), ex);
}
request.setVisitor(visitor);
// add timeouts
JsonObject oTimeouts = Json.getObject(spec, Spec.timeouts.class.getSimpleName());
if (oTimeouts != null && !oTimeouts.isEmpty()) {
int connectTimeout = Json.getInteger(oTimeouts, Spec.timeouts.Connect, 0);
if (connectTimeout > 100) {
request.setConnectTimeout(connectTimeout);
}
int readTimeout = Json.getInteger(oTimeouts, Spec.timeouts.Read, 0);
if (readTimeout > 100) {
request.setReadTimeout(readTimeout);
}
}
// add proxy
JsonObject oProxy = Json.getObject(spec, Spec.proxy.class.getSimpleName());
if (oProxy != null && !oProxy.isEmpty()) {
Proxy.Type proxyType = Proxy.Type.valueOf(Json.getString(oProxy, Spec.proxy.Type, Proxy.Type.HTTP.name()).toUpperCase());
int proxyPort = Json.getInteger(oProxy, Spec.proxy.Port, 8080);
Proxy proxy = new Proxy(proxyType, new InetSocketAddress(Json.getString(oProxy, Spec.proxy.Endpoint), proxyPort));
request.setProxy(proxy);
}
String contentType = null;
// add headers
JsonObject headers = Json.getObject(spec, Spec.Headers);
if (headers != null && !headers.isEmpty()) {
List<HttpHeader> hHeaders = new ArrayList<HttpHeader>();
request.setHeaders(hHeaders);
Iterator<String> keys = headers.keys();
while (keys.hasNext()) {
String h = keys.next();
String hv = String.valueOf(headers.get(h));
if (HttpHeaders.CONTENT_TYPE.toUpperCase().equals(h.toUpperCase())) {
contentType = hv;
} else {
hHeaders.add(new HttpHeaderImpl(h, hv));
}
}
headers.remove(HttpHeaders.CONTENT_TYPE);
}
request.setContentType(contentType);
// add params
JsonObject data = Json.getObject(spec, Spec.Data);
if (data != null && !data.isEmpty()) {
if (ContentTypes.Json.equals(contentType)) {
HttpMessageBody body = new HttpMessageBodyImpl();
request.setBody(body);
body.add(new StringHttpMessageBodyPart(data.toString()));
} else {
List<HttpParameter> hParams = new ArrayList<HttpParameter>();
request.setParameters(hParams);
Iterator<String> keys = data.keys();
while (keys.hasNext()) {
String p = keys.next();
hParams.add(new HttpParameterImpl(p, data.get(p)));
}
}
}
return request;
}
use of com.bluenimble.platform.json.JsonObject in project serverless by bluenimble.
the class SimpleApiResponse method error.
@Override
public ApiResponse error(Status status, Object message) {
this.status = status;
error = new JsonObject();
error.set(RequestID, id);
error.set(Error.Code, status.getCode());
if (message != null && (message instanceof Object[])) {
Object[] aMessage = (Object[]) message;
error.set(Error.Message, aMessage[0]);
error.set(Error.Trace, aMessage[1]);
} else {
error.set(Error.Message, message);
}
return this;
}
use of com.bluenimble.platform.json.JsonObject in project serverless by bluenimble.
the class JsonFilter method get.
@Override
public Object get(String field) {
Object o = source.get(field);
if (!(o instanceof JsonObject)) {
return new ConditionImpl(field, Operator.eq, o);
}
JsonObject spec = (JsonObject) o;
if (Conjunctions.contains(field)) {
return new JsonFilter(Conjunction.valueOf(field), spec);
}
return new ConditionImpl(field, Operator.valueOf(Json.getString(spec, JsonQuery.Spec.Operator, Operator.eq.name())), spec.get(JsonQuery.Spec.Value));
}
Aggregations