static internal string ConvertRequestToJson(uWiMP.TVServer.MPClient.Request request) { JsonTextWriter jw = new JsonTextWriter(); jw.PrettyPrint = true; jw.WriteStartObject(); jw.WriteMember("action"); jw.WriteString(request.Action); jw.WriteMember("filter"); jw.WriteString(request.Filter); jw.WriteMember("value"); jw.WriteString(request.Value); jw.WriteMember("start"); jw.WriteString(request.Start.ToString()); jw.WriteMember("pagesize"); jw.WriteString(request.PageSize.ToString()); jw.WriteMember("shuffle"); jw.WriteBoolean(request.Shuffle); jw.WriteMember("enqueue"); jw.WriteBoolean(request.Enqueue); jw.WriteMember("tracks"); jw.WriteString(request.Tracks); jw.WriteEndObject(); return jw.ToString(); }
protected void Page_Load(object sender, System.EventArgs e) { Response.ContentType = "application/json"; string programID = Request.QueryString["programID"]; Program program = uWiMP.TVServer.Programs.GetProgramByProgramId(Convert.ToInt32(programID)); Channel channel = uWiMP.TVServer.Channels.GetChannelByChannelId(program.IdChannel); string timetext = string.Format("<b>{0}-{1}</b><br>", program.StartTime.ToShortTimeString(), program.EndTime.ToShortTimeString()); string title = program.Title == "" ? GetGlobalResourceObject("uWiMPStrings", "unknown_title").ToString() : program.Title; string episodeName = program.EpisodeName == "" ? timetext : timetext + "<b>" + program.EpisodeName + "</b><br>"; string description = program.Description == "" ? GetGlobalResourceObject("uWiMPStrings", "description_not_found").ToString() : episodeName + program.Description; using (JsonTextWriter jw = new JsonTextWriter()) { jw.PrettyPrint = true; jw.WriteStartObject(); jw.WriteMember("title"); jw.WriteString(title); jw.WriteMember("description"); jw.WriteString(description); jw.WriteMember("channel"); jw.WriteString(channel.DisplayName); jw.WriteMember("running"); jw.WriteBoolean(program.IsRunningAt(DateTime.Now)); jw.WriteMember("scheduled"); jw.WriteBoolean(uWiMP.TVServer.Schedules.IsProgramScheduled(program)); jw.WriteEndObject(); Response.Write(jw.ToString()); } }
protected void Page_Load(object sender, System.EventArgs e) { Response.ContentType = "application/json"; string programID = Request.QueryString["programID"]; string recordOption = Request.QueryString["option"]; bool success; if (User.IsInRole("recorder")) { success = uWiMP.TVServer.Recordings.RecordProgramById(Convert.ToInt32(programID), (Recordings.RecordingType)Convert.ToInt32(recordOption)); } else { success = false; } using (JsonTextWriter jw = new JsonTextWriter()) { jw.PrettyPrint = true; jw.WriteStartObject(); jw.WriteMember("result"); jw.WriteBoolean(success); jw.WriteEndObject(); Response.Write(jw.ToString()); } }
public static void JayrockWriterObjects () { for (int j = 0; j < Common.Iterations; j++) { StringBuilder output = new StringBuilder (); JsonWriter writer = new JsonTextWriter (new StringWriter (output)); int n = Common.SampleObject.Length; for (int i = 0; i < n; i += 2) { switch ((char) Common.SampleObject[i]) { case '{': writer.WriteStartObject (); break; case '}': writer.WriteEndObject (); break; case '[': writer.WriteStartArray (); break; case ']': writer.WriteEndArray (); break; case 'P': writer.WriteMember ( (string) Common.SampleObject[i + 1]); break; case 'I': writer.WriteNumber ( (int) Common.SampleObject[i + 1]); break; case 'D': writer.WriteNumber ( (double) Common.SampleObject[i + 1]); break; case 'S': writer.WriteString ( (string) Common.SampleObject[i + 1]); break; case 'B': writer.WriteBoolean ( (bool) Common.SampleObject[i + 1]); break; case 'N': writer.WriteNull (); break; } } } }
static internal string ReturnBoolean(bool value) { JsonTextWriter jw = new JsonTextWriter(); jw.PrettyPrint = true; jw.WriteStartObject(); jw.WriteMember("result"); jw.WriteBoolean(value); jw.WriteEndObject(); return jw.ToString(); }
public void StoreText(string url, string text, DateTime lastModified) { string file_path = Path.Combine(storage_dir, Common.MD5(url)); using (TextWriter tw = File.CreateText(file_path)) { using (Jayrock.Json.JsonTextWriter jtw = new Jayrock.Json.JsonTextWriter(tw)) { jtw.WriteStartObject(); jtw.WriteMember("LastModified"); jtw.WriteString(datetime_tostring(lastModified)); jtw.WriteMember("Text"); jtw.WriteString(text); jtw.WriteEndObject(); } } }
public static void Write(MultiPolygon areas, JsonTextWriter jwriter) { if (areas == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); jwriter.WriteMember("type"); jwriter.WriteString("MultiPolygon"); jwriter.WriteMember("coordinates"); jwriter.WriteStartArray(); foreach (Polygon area in areas.Geometries) { jwriter.WriteStartArray(); //Write the exterior boundary or shell Write(area.Shell.Coordinates, jwriter); //Write all the holes foreach (LineString hole in area.Holes) { Write(hole.Coordinates, jwriter); } jwriter.WriteEndArray(); } jwriter.WriteEndArray(); jwriter.WriteEndObject(); }
public static void Write(GeometryCollection geometries, JsonTextWriter jwriter) { if (geometries == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); jwriter.WriteMember("type"); jwriter.WriteString("GeometryCollection"); jwriter.WriteMember("geometries"); jwriter.WriteStartArray(); foreach (Geometry geometry in geometries.Geometries) { Write(geometry, jwriter); } jwriter.WriteEndArray(); jwriter.WriteEndObject(); }
public static void Write(MultiPoint points, JsonTextWriter jwriter) { if (points == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); jwriter.WriteMember("type"); jwriter.WriteString("MultiPoint"); jwriter.WriteMember("coordinates"); jwriter.WriteStartArray(); foreach (Coordinate entry in points.Coordinates) { Write(entry, jwriter); } jwriter.WriteEndArray(); jwriter.WriteEndObject(); }
public static void Write(MultiLineString lines, JsonTextWriter jwriter) { if (lines == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); jwriter.WriteMember("type"); jwriter.WriteString("MultiLineString"); jwriter.WriteMember("coordinates"); jwriter.WriteStartArray(); foreach (LineString line in lines.Geometries) { Write(line.Coordinates, jwriter); } jwriter.WriteEndArray(); jwriter.WriteEndObject(); }
public void ToJSON(JsonTextWriter jwriter) { jwriter.WriteStartArray(); foreach (DictionaryEntry item in this.Dictionary) { jwriter.WriteStartObject(); jwriter.WriteMember("key"); jwriter.WriteString(item.Key.ToString()); //write the qualified type name of the value //write the value if (item.Value == null) { jwriter.WriteMember("type"); jwriter.WriteNull(); jwriter.WriteMember("value"); jwriter.WriteNull(); } else { TypeConverter typeConverter = TypeDescriptor.GetConverter(item.Value.GetType()); jwriter.WriteMember("type"); jwriter.WriteString(item.Value.GetType().AssemblyQualifiedName); jwriter.WriteMember("value"); jwriter.WriteString(typeConverter.ConvertToString(item.Value)); } jwriter.WriteEndObject(); } jwriter.WriteEndArray(); }
public static void Write(Point point, JsonTextWriter jwriter) { if (point == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); jwriter.WriteMember("type"); jwriter.WriteString("Point"); jwriter.WriteMember("coordinates"); jwriter.WriteStartArray(); jwriter.WriteNumber(point.X); jwriter.WriteNumber(point.Y); if (!double.IsNaN(point.Z)) jwriter.WriteNumber(point.Z); jwriter.WriteEndArray(); jwriter.WriteEndObject(); }
public static void Write(IGISLayer features, JsonTextWriter jwriter) { if (features == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); jwriter.WriteMember("type"); jwriter.WriteString("FeatureCollection"); jwriter.WriteMember("features"); jwriter.WriteStartArray(); while (features.MoveNext()) { Write(features.Current, jwriter); } jwriter.WriteEndArray(); jwriter.WriteEndObject(); }
private static void WriteCategories(IEnumerable<ICategory> categories, TextWriter writer) { using (var jsonWriter = new JsonTextWriter(writer)) { jsonWriter.WriteStartArray(); foreach (var category in categories) { jsonWriter.WriteStartObject(); jsonWriter.WriteMember("id"); jsonWriter.WriteString(category.Id.ToString()); jsonWriter.WriteMember("name"); jsonWriter.WriteString(category.Name); jsonWriter.WriteMember("value"); jsonWriter.WriteString(category.Name); jsonWriter.WriteEndObject(); } jsonWriter.WriteEndArray(); } }
private JsonTextWriter Request(int id, string method, params string[] list) { JsonTextWriter writer = new JsonTextWriter(); string ID = id.ToString(); writer.WriteStartObject(); writer.WriteMember("jsonrpc"); writer.WriteString("2.0"); writer.WriteMember("id"); writer.WriteString(ID); writer.WriteMember("method"); writer.WriteString(method); writer.WriteMember("params"); writer.WriteStartArray(); foreach (string param in list) writer.WriteString(param); return writer; }
public static void Write(IGISFeature feature, JsonTextWriter jwriter) { if (feature == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); jwriter.WriteMember("type"); jwriter.WriteString("Feature"); jwriter.WriteMember("geometry"); Write(feature.Shape, jwriter); jwriter.WriteMember("properties"); Write(feature.Attributes, jwriter); jwriter.WriteEndObject(); }
/// <summary> /// Invokes the 'getwork' JSON method and parses the result into a new <see cref="T:Work"/> instance. /// </summary> /// <returns></returns> public Work GetWorkRpc(IMiner miner, string comment) { var req = OpenRpc(miner, comment); if (req == null) return null; // submit method invocation using (var txt = new StreamWriter(req.GetRequestStream())) using (var wrt = new JsonTextWriter(txt)) { wrt.WriteStartObject(); wrt.WriteMember("id"); wrt.WriteString("json"); wrt.WriteMember("method"); wrt.WriteString("getwork"); wrt.WriteMember("params"); wrt.WriteStartArray(); wrt.WriteEndArray(); wrt.WriteEndObject(); wrt.Flush(); } return ParseGetWork(req.GetResponse()); }
/// <summary> /// Invokes the 'getwork' JSON method, submitting the proposed work. Returns <c>true</c> if the service accepts /// the proposed work. /// </summary> /// <param name="work"></param> /// <returns></returns> public bool SubmitWorkRpc(IMiner miner, Work work, string comment) { var req = OpenRpc(miner, comment); if (req == null) return false; // header needs to have SHA-256 padding appended var data = Sha256.AllocateInputBuffer(80); // prepare header buffer with SHA-256 Sha256.Prepare(data, 80, 0); Sha256.Prepare(data, 80, 1); // dump header data on top of padding Array.Copy(work.Header, data, 80); // encode in proper format var solution = Memory.Encode(data); Console.WriteLine(); Console.WriteLine("SOLUTION: {0,10} {1}", miner.GetType().Name, Memory.Encode(work.Header)); Console.WriteLine(); Console.WriteLine(); using (var txt = new StreamWriter(req.GetRequestStream())) using (var wrt = new JsonTextWriter(txt)) { wrt.WriteStartObject(); wrt.WriteMember("id"); wrt.WriteString("json"); wrt.WriteMember("method"); wrt.WriteString("getwork"); wrt.WriteMember("params"); wrt.WriteStartArray(); wrt.WriteString(solution); wrt.WriteEndArray(); wrt.WriteEndObject(); wrt.Flush(); } using (var txt = new StreamReader(req.GetResponse().GetResponseStream())) using (var rdr = new JsonTextReader(txt)) { if (!rdr.MoveToContent() && rdr.Read()) throw new JsonException("Unexpected content from 'getwork <data>'."); var response = JsonConvert.Import<JsonSubmitWork>(rdr); if (response == null) throw new JsonException("No response returned."); if (response.Error != null) Console.WriteLine("JSON-RPC: {0}", response.Error); Console.WriteLine(); Console.WriteLine("{0}: {1,10} {2}", response.Result ? "ACCEPTED" : "REJECTED", miner.GetType().Name, Memory.Encode(work.Header)); Console.WriteLine(); Console.WriteLine(); return response.Result; } }
private static void save_index() { lock (l) { using (TextWriter tw = File.CreateText(FileIndexSaveFile)) { using (JsonTextWriter jw = new JsonTextWriter(tw)) { jw.PrettyPrint = false; jw.WriteStartArray(); foreach (var kvp in file_index) { jw.WriteStartObject(); jw.WriteMember(FILE_HASH); jw.WriteString(kvp.Key); jw.WriteMember(DATA); jw.WriteStartArray(); foreach (var i in kvp.Value.GetRepostsData()) { jw.WriteStartObject(); jw.WriteMember(BOARD); jw.WriteString(i.Board); jw.WriteMember(FILE_NAME); jw.WriteString(i.FileName); jw.WriteMember(THREAD_ID); jw.WriteNumber(i.ThreadID); jw.WriteMember(POST_ID); jw.WriteNumber(i.PostID); jw.WriteEndObject(); } jw.WriteEndArray(); jw.WriteEndObject(); } jw.WriteEndArray(); } } } need_save = false; }
public static void Write(IEnumerable<Feature> features, JsonTextWriter jwriter) { if (features == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); jwriter.WriteMember("type"); jwriter.WriteString("FeatureCollection"); jwriter.WriteMember("features"); jwriter.WriteStartArray(); foreach (Feature feature in features) { Write(feature, jwriter); } jwriter.WriteEndArray(); jwriter.WriteEndObject(); }
public static void Write(IAttributesTable attributes, JsonTextWriter jwriter) { if (attributes == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); string[] names = attributes.GetNames(); foreach (string name in names) { jwriter.WriteMember(name); jwriter.WriteString(attributes[name].ToString()); } jwriter.WriteEndObject(); }
protected override void ProcessRequest() { string httpMethod = Request.RequestType; if (!CaselessString.Equals(httpMethod, "GET") && !CaselessString.Equals(httpMethod, "HEAD")) { throw new JsonRpcException(string.Format("HTTP {0} is not supported for RPC execution. Use HTTP GET or HEAD only.", httpMethod)); } // // Response will be plain text, though it would have been nice to // be more specific, like text/json. // Response.ContentType = "text/plain"; // // Convert the query string into a call object. // JsonWriter writer = new JsonTextWriter(); writer.WriteStartObject(); writer.WriteMember("id"); writer.WriteNumber(-1); writer.WriteMember("method"); string methodName = Mask.NullString(Request.PathInfo); if (methodName.Length == 0) { writer.WriteNull(); } else { // // If the method name contains periods then we replace it // with dashes to mean the one and same thing. This is // done to provide dashes as an alternative to some periods // since some web servers may block requests (for security // reasons) if a path component of the URL contains more // than one period. // writer.WriteString(methodName.Substring(1).Replace('-', '.')); } writer.WriteMember("params"); NameValueCollection query = new NameValueCollection(Request.QueryString); query.Remove(string.Empty); JsonConvert.Export(Request.QueryString, writer); writer.WriteEndObject(); // // Delegate rest of the work to JsonRpcDispatcher. // JsonRpcDispatcher dispatcher = new JsonRpcDispatcher(Service); dispatcher.RequireIdempotency = true; if (HttpRequestSecurity.IsLocal(Request)) dispatcher.SetLocalExecution(); dispatcher.Process(new StringReader(writer.ToString()), Response.Output); }
public static void Write(IGISAttributes attributes, JsonTextWriter jwriter, string[] nonSerializedFields) { if (attributes == null) return; if (jwriter == null) throw new ArgumentNullException("jwriter", "A valid JSON writer object is required."); jwriter.WriteStartObject(); IEnumerable<string> names = attributes.GetKeys(); foreach (string name in names) { if (nonSerializedFields != null && Contains(nonSerializedFields, name)) continue; jwriter.WriteMember(name); jwriter.WriteString(attributes.GetValue(name).ToString()); } jwriter.WriteEndObject(); }
public JsonTextWriter Request(string method, params string [] list) { JsonTextWriter writer = new JsonTextWriter(); writer.WriteStartObject (); writer.WriteMember ("jsonrpc"); writer.WriteString ("2.0"); writer.WriteMember ("id"); writer.WriteString ("1"); writer.WriteMember ("method"); writer.WriteString (method); writer.WriteMember ("params"); writer.WriteStartArray (); foreach (string param in list) writer.WriteString (param); return writer; }
public void AddHashedParameters(JsonTextWriter writer, params string [] list) { if ( list.Length % 2 > 0) return; writer.WriteStartObject (); for (int i = 0; i < list.Length; i+=2) { writer.WriteMember (list[i]); writer.WriteString (list[i+1]); } writer.WriteEndObject (); }
internal bool Authenticate() { Jayrock.Json.JsonTextWriter jsonWriter = new Jayrock.Json.JsonTextWriter(); jsonWriter.WriteStartObject(); jsonWriter.WriteMember("version"); jsonWriter.WriteNumber(1); jsonWriter.WriteMember("topic"); jsonWriter.WriteString("contact-center"); jsonWriter.WriteMember("request-id"); jsonWriter.WriteNumber(GetUniqueReqID()); jsonWriter.WriteMember("message"); jsonWriter.WriteString("authenticate"); jsonWriter.WriteMember("user"); jsonWriter.WriteString(strAdapterUserName); jsonWriter.WriteMember("password"); jsonWriter.WriteString(strAdapterPassword); jsonWriter.WriteEndObject(); if (!SendRequest(jsonWriter.ToString())) return false; return ReceiveResponse("authenticate"); }
protected override void ProcessRequest() { string httpMethod = Request.RequestType; if (!CaselessString.Equals(httpMethod, "GET") && !CaselessString.Equals(httpMethod, "HEAD")) { throw new JsonRpcException(string.Format("HTTP {0} is not supported for RPC execution. Use HTTP GET or HEAD only.", httpMethod)); } string callback = Mask.NullString(Request.QueryString["jsonp"]); bool padded = callback.Length > 0; // // The response type depends on whether JSONP (JSON with // Padding) is in effect or not. // Response.ContentType = padded ? "text/javascript" : "application/json"; // // Validate that the JSONP callback method conforms to the // allowed syntax. If not, issue a client-side exception // that will certainly help to bring problem to light, even if // a little too aggressively. // if (padded) { if (!_jsonpex.IsMatch(callback)) { Response.Write("throw new Error('Invalid JSONP callback parameter value.');"); Response.End(); } } // // Convert the query string into a call object. // JsonWriter writer = new JsonTextWriter(); writer.WriteStartObject(); writer.WriteMember("id"); writer.WriteNumber(-1); writer.WriteMember("method"); string methodName = Mask.NullString(Request.PathInfo); if (methodName.Length == 0) { writer.WriteNull(); } else { // // If the method name contains periods then we replace it // with dashes to mean the one and same thing. This is // done to provide dashes as an alternative to some periods // since some web servers may block requests (for security // reasons) if a path component of the URL contains more // than one period. // writer.WriteString(methodName.Substring(1).Replace('-', '.')); } writer.WriteMember("params"); NameValueCollection query = new NameValueCollection(Request.QueryString); query.Remove(string.Empty); JsonConvert.Export(Request.QueryString, writer); writer.WriteEndObject(); // // Delegate rest of the work to JsonRpcDispatcher. // JsonRpcDispatcher dispatcher = new JsonRpcDispatcher(Service); using (new JsonRpcDispatchScope(dispatcher, Context)) { dispatcher.RequireIdempotency = true; if (padded) { // // For JSONP, see details here: // http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/ // Response.Write(callback); Response.Write('('); } dispatcher.Process(new StringReader(writer.ToString()), Response.Output); if (padded) Response.Write(')'); } }
public void WriteObject() { JsonTextWriter writer = new JsonTextWriter(new StringWriter()); writer.WriteStartObject(); writer.WriteMember("Name"); writer.WriteString("John Doe"); writer.WriteMember("Salary"); writer.WriteNumber(123456789); writer.WriteEndObject(); Assert.AreEqual("{\"Name\":\"John Doe\",\"Salary\":123456789}", writer.ToString()); }
public int SubscribeDailyGroupStatistics() { int nReqID = GetUniqueReqID(); foreach (int groupId in m_groupIds) { Jayrock.Json.JsonTextWriter jsonWriter = new Jayrock.Json.JsonTextWriter(); jsonWriter.WriteStartObject(); jsonWriter.WriteMember("version"); jsonWriter.WriteNumber(1); jsonWriter.WriteMember("topic"); jsonWriter.WriteString("contact-center"); jsonWriter.WriteMember("request-id"); jsonWriter.WriteNumber(nReqID); jsonWriter.WriteMember("message"); jsonWriter.WriteString("subscribe-events"); jsonWriter.WriteMember("subscribe"); jsonWriter.WriteStartArray(); jsonWriter.WriteStartArray(); jsonWriter.WriteString("ecc"); jsonWriter.WriteString("daily-group-stats"); jsonWriter.WriteStartArray(); jsonWriter.WriteString(groupId.ToString()); jsonWriter.WriteEndArray(); jsonWriter.WriteEndArray(); jsonWriter.WriteEndArray(); jsonWriter.WriteEndObject(); if (!SendRequest(jsonWriter.ToString())) return -1; } return nReqID; }
public void WriteEmptyObject() { JsonTextWriter writer = new JsonTextWriter(new StringWriter()); writer.WriteStartObject(); writer.WriteEndObject(); Assert.AreEqual("{}", writer.ToString()); }