public StatementsResultLRSResponse QueryStatements(StatementsQuery query) { var r = new StatementsResultLRSResponse(); var req = new MyHTTPRequest(); req.method = "GET"; req.resource = "statements"; req.queryParams = query.ToParameterMap(version); var res = MakeSyncRequest(req); if (res.status != HttpStatusCode.OK) { r.success = false; r.httpException = res.ex; r.SetErrMsgFromBytes(res.content); return r; } r.success = true; r.content = new StatementsResult(new Json.StringOfJSON(Encoding.UTF8.GetString(res.content))); return r; }
public StatementsResultLRSResponse MoreStatements(StatementsResult result) { var r = new StatementsResultLRSResponse(); var req = new MyHTTPRequest(); req.method = "GET"; req.resource = endpoint.GetLeftPart(UriPartial.Authority); if (! req.resource.EndsWith("/")) { req.resource += "/"; } req.resource += result.more; var res = MakeSyncRequest(req); if (res.status != HttpStatusCode.OK) { r.success = false; r.httpException = res.ex; r.SetErrMsgFromBytes(res.content); return r; } r.success = true; r.content = new StatementsResult(new Json.StringOfJSON(Encoding.UTF8.GetString(res.content))); return r; }
public StatementsResultLRSResponse SaveStatements(List<Statement> statements) { var r = new StatementsResultLRSResponse(); var req = new MyHTTPRequest(); req.resource = "statements"; req.method = "POST"; req.contentType = "application/json"; var jarray = new JArray(); foreach (Statement st in statements) { jarray.Add(st.ToJObject(version)); } req.content = Encoding.UTF8.GetBytes(jarray.ToString()); var res = MakeSyncRequest(req); if (res.status != HttpStatusCode.OK) { r.success = false; r.httpException = res.ex; r.SetErrMsgFromBytes(res.content); return r; } var ids = JArray.Parse(Encoding.UTF8.GetString(res.content)); for (int i = 0; i < ids.Count; i++) { statements[i].id = new Guid((String)ids[i]); } r.success = true; r.content = new StatementsResult(statements); return r; }