public IHttpActionResult PostWithPayload([FromBody] PayloadObject message) { //if (some validation) // return BadRequest(); byte[] parameters = null; parameters = HttpUtility.UrlDecodeToBytes(message.Payload); string name = null; int age = 0; string street = null; string zipcode = null; Address adress = new Address(); string payloadContent = System.Text.UTF8Encoding.Default.GetString(parameters); Dictionary <string, dynamic> PayloadParameters = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(payloadContent); if (PayloadParameters.ContainsKey("TOKEN") && System.Configuration.ConfigurationManager.AppSettings["token"] == PayloadParameters["TOKEN"]) { if (PayloadParameters.ContainsKey("Person")) { string personCode = JsonConvert.SerializeObject(PayloadParameters["Person"]); JObject personJsonObject = JObject.Parse(personCode); JToken person = personJsonObject; name = (string)person["Name"]; age = (Int32)person["Age"]; string adressCode = JsonConvert.SerializeObject(person["Adress"]); JObject personAdress = JObject.Parse(adressCode); zipcode = (string)personAdress["Zipcode"]; street = (string)personAdress["Street"]; } Person p1 = new Person(); p1.Name = "Jane Doe"; p1.Age = 30; Address p1Adress = new Address(); p1Adress.Zipcode = "H1K"; p1Adress.Street = "Saint Donat"; p1.Adress = p1Adress; Response response = new Response { Person = p1, }; return(Ok(response)); } else { return(Unauthorized()); } }
private static void OnTimedEvent(Object source, ElapsedEventArgs e) { if (aTimer.Interval > 0) { string item = items[GetNumber()]; string payload = new JObject(new JProperty("value", counter.ToString()), new JProperty("halfed-times", (counter / 50).ToString()), new JProperty("type", "knx"), new JProperty("itemid", item)).ToString(); PlugLog.memoryLog.Add("RESULT-PUBLISHED, " + counter + ", " + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + ", " + item + ", " + aTimer.Interval); RequestUtils publishRequestUtils = new RequestUtils("netx_test.cfei.ba/sharptesting", RequestType.PUBLISH) .SetPrimaryAccessChain("nw0ChNe30YJBq4Q1LzI2TefzcfypV6-vYYOc_cUaaRc="); byte[] message = Encoding.UTF8.GetBytes(payload); byte[] text = { 64, 0, 0, 0 }; PayloadObject payloadObject = new PayloadObject(new PayloadType(text), message); publishRequestUtils.AddPayloadObject(payloadObject); Request publishRequest = publishRequestUtils.BuildPublisher(); bwClient.Publish(publishRequest, BWDefaults.DEFAULT_RESPONSEHANDLER(0)); if (counter > nextAddOn) { aTimer.Interval = aTimer.Interval - (aTimer.Interval / 4); nextAddOn += 50; } string item2 = items[GetNumber()]; host.WriteLog(nxaXIO.PlugKit.Logging.LogLevel.Warning, "published: " + counter + ", timer: " + aTimer.Interval + ", item: " + item); host.WriteLog(nxaXIO.PlugKit.Logging.LogLevel.Warning, "modified: " + -counter + ", timer: " + aTimer.Interval + ", item: " + item2); PlugLog.memoryLog.Add("ITEM-CHANGED, " + -counter + ", " + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() + ", " + item2 + ", " + aTimer.Interval); host.GetItem(item2).ItemFacade.SetValue(new UpdateRequest(-counter, ItemChangeReason.IoReceived)); counter += 1; } else { PlugLog.LogWriter.Stop(); Thread.Sleep(1000); Environment.Exit(0); } }
public PayloadViewModel(PayloadObject payload, Action <PayloadObject> inspect, IConcurrencyService concurrencyService, IWorkspace workspace) { mPayload = payload; this.WhenActivated((CompositeDisposable disposables) => { workspace.RequestObjectProperties(payload); mProps = payload.Properties .Select(ps => ps.Select(p => new PayloadProperty(p.Key, p.Value, inspect)).ToArray()) .ObserveOn(concurrencyService.DispatcherRxScheduler) .ToProperty(this, x => x.Properties) .DisposeWith(disposables); }); }
private void BuildEntity(byte[] fileBytes, IResponseHandler responseHandler) { int sequenceNumber = Frame.GenerateSequenceNumber(); FrameUtils frameUtils = new FrameUtils(Command.SET_ENTITY, sequenceNumber); PayloadType payloadType = new PayloadType(new byte[] { 0, 0, 0, 50 }); PayloadObject payloadObject = new PayloadObject(payloadType, fileBytes); frameUtils.AddPayloadObjectGetUtils(payloadObject); Frame frame = frameUtils.Build(); frame.Write(Controller.Instance.outputStream); Controller.Instance.outputStream.Flush(); ActivateResponseHandler(sequenceNumber, responseHandler); }
public IHttpActionResult PostWithPayload([FromBody] PayloadObject message) { //if (some validation) // return BadRequest(); byte[] parameters = null; parameters = HttpUtility.UrlDecodeToBytes(message.payload); string name = null; DateTime date = default(DateTime); int number = 0; string payloadContent = System.Text.UTF8Encoding.Default.GetString(parameters); Dictionary <string, string> PayloadParameters = JsonConvert.DeserializeObject <Dictionary <string, string> >(payloadContent); if (PayloadParameters.ContainsKey("TOKEN") && System.Configuration.ConfigurationManager.AppSettings["token"] == PayloadParameters["TOKEN"]) { if (PayloadParameters.ContainsKey("Name")) { name = PayloadParameters["Name"]; } if (PayloadParameters.ContainsKey("Date")) { date = Convert.ToDateTime(PayloadParameters["Date"]); } if (PayloadParameters.ContainsKey("Number")) { number = Convert.ToInt32(PayloadParameters["Number"]); } Response response = new Response { Hello_Name = "Hello " + name, Date_Utc_Now = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ"), Two_Squared_Number = Convert.ToInt32(Math.Pow(number, 2)) }; //return Ok(response); return(Ok(response)); } else { return(Unauthorized()); } }
public void Publish(string ns, string primaryAccessChain, string payload) { try { if (BossWavePlugin.Instance != null) { RequestUtils publishRequestUtils = new RequestUtils(ns, RequestType.PUBLISH) .SetPrimaryAccessChain(primaryAccessChain); byte[] message = Encoding.UTF8.GetBytes(payload); byte[] text = { 64, 0, 0, 0 }; PayloadObject payloadObject = new PayloadObject(new PayloadType(text), message); publishRequestUtils.AddPayloadObject(payloadObject); Request publishRequest = publishRequestUtils.BuildPublisher(); bwClient.Publish(publishRequest, new TempResponseHandler()); } } catch (Exception e) { BossWavePlugin.Instance.host.WriteLog(LogLevel.Error, e.Message + " " + e); } }
public FrameFunctionality() { // Testing PopFirstValue Console.WriteLine(""); Console.WriteLine("Testing PopFirstValue:"); FrameUtils frameUtils = new FrameUtils(Command.SUBSCRIBE, 123456789); frameUtils.AddVSKeyPairGetUtils("string_test", "true"); frameUtils.AddVSKeyPairGetUtils("bytes_test", Encoding.UTF8.GetBytes("false")); Frame frame = frameUtils.Build(); string falseValue = Encoding.UTF8.GetString(frame.PopFirstValue("bytes_test")); string trueValue = Encoding.UTF8.GetString(frame.PopFirstValue("string_test")); Console.WriteLine("false : " + falseValue); Console.WriteLine("true : " + trueValue); Console.WriteLine(" "); // Testing CorruptedFrameException Console.WriteLine(""); Console.WriteLine("Testing CorruptedFrameException:"); try { byte[] frameContent = Encoding.UTF8.GetBytes("helo 00000000000 0000000410 foobar\nend\n"); MemoryStream ns = new MemoryStream(frameContent); Frame.ReadFromStream(ns); } catch (CorruptedFrameException ex) { // Successfull Console.WriteLine("thrown CorruptedFrameException"); } // Testing Reading Verifying Signing Key Pair Frame Console.WriteLine(""); Console.WriteLine("Testing Reading Verifying Signing Key Pair Frame:"); string vsString = "pute 0000000099 0000001337\n" + "kv testKey 9\n" + "testValue\n" + "kv blahbla2 10\n" + "blahblahb2\n" + "kv lawlKey 6\n" + "foobar\n" + "end\n"; byte[] vsBytes = Encoding.UTF8.GetBytes(vsString); MemoryStream vsStream = new MemoryStream(vsBytes); Frame csFrame = Frame.ReadFromStream(vsStream); Console.WriteLine("Command: " + Command.PUT_ENTITY + " = " + csFrame.command); Console.WriteLine("Sequence number: " + "1337" + " = " + csFrame.sequenceNumber); Console.WriteLine("Number of VS key pais: " + "3" + " = " + csFrame.vsKeyPairs.Count); Console.WriteLine("Value from testKey: " + "testValue" + " = " + Encoding.UTF8.GetString(csFrame.PopFirstValue("testKey"))); Console.WriteLine("Empty list: false" + " = " + csFrame.routingObjects.Any()); //Testing Writing VSKeyPair Console.WriteLine(""); Console.WriteLine("Testing Writing VSKeyPair:"); FrameUtils writerUtils = new FrameUtils(Command.PUBLISH, 9876); writerUtils.AddVSKeyPairGetUtils("testKey1", "testValue1"); writerUtils.AddVSKeyPairGetUtils("testKey2", "testValue2"); Frame writerFrame = writerUtils.Build(); MemoryStream ns1 = new MemoryStream(); Stream bs1 = ns1; writerFrame.Write(bs1); string frameRetreived = Encoding.UTF8.GetString(ns1.ToArray()); string expectedFrameStr = "publ 0000000000 0000009876\n" + "kv testKey1 10\n" + "testValue1\n" + "kv testKey2 10\n" + "testValue2\n" + "end\n"; if (frameRetreived.Equals(expectedFrameStr)) { Console.WriteLine("Writing VSK test: They are equal."); } //Testing Writing PayloadObject Console.WriteLine(""); Console.WriteLine("Testing Writing PayloadObject:"); FrameUtils powriterUtils = new FrameUtils(Command.SUBSCRIBE, 1234); PayloadType potype = new PayloadType(42); PayloadObject poo = new PayloadObject(potype, Encoding.UTF8.GetBytes("testPayload")); powriterUtils.AddPayloadObjectGetUtils(poo); Frame powriterFrame = powriterUtils.Build(); MemoryStream ns2 = new MemoryStream(); Stream bs2 = ns2; powriterFrame.Write(bs2); string poframeRetreived = Encoding.UTF8.GetString(ns2.ToArray()); string poexpectedFrameStr = "subs 0000000000 0000001234\n" + "po :42 11\n" + "testPayload\n" + "end\n"; if (poframeRetreived.Equals(poexpectedFrameStr)) { Console.WriteLine("Writing PO test: They are equal."); } //Testing Writing RoutingObject Console.WriteLine(""); Console.WriteLine("Testing Writing RoutingObject:"); FrameUtils rowriterUtils = new FrameUtils(Command.PUBLISH, 9876); RoutingObject ro = new RoutingObject(45, Encoding.UTF8.GetBytes("relaxing")); rowriterUtils.AddRoutingObjectGetUtils(ro); Frame rowriterFrame = rowriterUtils.Build(); MemoryStream ns3 = new MemoryStream(); Stream bs3 = ns3; rowriterFrame.Write(bs3); string roframeRetreived = Encoding.UTF8.GetString(ns3.ToArray()); string roexpectedFrameStr = "publ 0000000000 0000009876\n" + "ro 45 8\n" + "relaxing\n" + "end\n"; if (roframeRetreived.Equals(roexpectedFrameStr)) { Console.WriteLine("Writing RO test: They are equal."); } //Reading RoutingObject Frame Console.WriteLine(""); Console.WriteLine("Testing Reading RoutingObject Frame:"); string roframetoread = "dlpc 0000000987 0000000645\n" + "ro 255 6\n" + "testRO\n" + "end\n"; byte[] roframeBytes = Encoding.UTF8.GetBytes(roframetoread); MemoryStream roStream = new MemoryStream(roframeBytes); Frame roFrame = Frame.ReadFromStream(roStream); Console.WriteLine("Command: " + Command.DEL_PREF_CHAIN + " = " + roFrame.command); Console.WriteLine("Sequence number: " + "645" + " = " + roFrame.sequenceNumber); Console.WriteLine("VSkeyPairCount: " + "0" + " = " + roFrame.vsKeyPairs.Count); Console.WriteLine("RoutinObjects.Count: 1" + " = " + roFrame.routingObjects.Count); Console.WriteLine("PayloadObjects.Count: 0" + " = " + roFrame.payloadObjects.Count); //Readin PayloadObject Frame Console.WriteLine(""); Console.WriteLine("Testing Reading PayloadObject Frame:"); string poframetoread = "make 0000000059 0000000999\n" + "po 1.2.3.4: 11\n" + "testPayload\n" + "end\n"; byte[] poframeBytes = Encoding.UTF8.GetBytes(poframetoread); MemoryStream mempo = new MemoryStream(poframeBytes); Frame mepoframe = Frame.ReadFromStream(mempo); Console.WriteLine("Command: " + Command.MAKE_ENTITY + " = " + mepoframe.command); Console.WriteLine("Sequence number: " + "999" + " = " + mepoframe.sequenceNumber); Console.WriteLine("VSkeyPairCount: " + "0" + " = " + mepoframe.vsKeyPairs.Count); Console.WriteLine("RoutinObjects.Count: 0" + " = " + mepoframe.routingObjects.Count); Console.WriteLine("PayloadObjects.Count: 1" + " = " + mepoframe.payloadObjects.Count); PayloadType expectedType = new PayloadType(new byte[] { 1, 2, 3, 4 }); byte[] expectedContents = Encoding.UTF8.GetBytes("testPayload"); PayloadObject expectedPayload = new PayloadObject(expectedType, expectedContents); if (expectedPayload.Equals(mepoframe.payloadObjects[0])) { Console.WriteLine("Readin PO test: They are equal."); } }
private static void test() { BossWaveClient bwClient = new BossWaveClient("localhost", BWDefaults.DEFAULT_PORT_NUMBER); bwClient.Connect(); bwClient.SetEntity("C:/Users/Emil S. Kolvig-Raun/stubbe.ent", BWDefaults.DEFAULT_RESPONSEHANDLER(1)); Request subscribeRequest = new RequestUtils("stubbe.demo.dk/sharptesting", RequestType.SUBSCRIBE) .SetExpiryDelta(3600000) .SetAutoChain(true) .BuildSubcriber(); bwClient.Subscribe(subscribeRequest, subscribeHandler, nsgHandler); semaphore.WaitOne(); RequestUtils publishRequestUtils = new RequestUtils("stubbe.demo.dk/sharptesting", RequestType.PUBLISH) .SetPrimaryAccessChain("klAVQ9UOajySAZZWzdU4IBrdyqs85JOk3TJhnpecFqg="); byte[] message = Encoding.UTF8.GetBytes("Rest is for the wicked."); byte[] text = { 64, 0, 0, 0 }; PayloadObject payload = new PayloadObject(new PayloadType(text), message); publishRequestUtils.AddPayloadObject(payload); Request publishRequest = publishRequestUtils.BuildPublisher(); bwClient.Publish(publishRequest, publishHandler); semaphore.WaitOne(); Printer.PrintResponse(RequestType.MAKE_ENTITY, BWDefaults.DEFAULT_RESPONSEHANDLER(1).result.status); Printer.PrintResponse(RequestType.SUBSCRIBE, subscribeHandler.result.status); Printer.PrintResponse(RequestType.PUBLISH, publishHandler.result.status); semaphore.WaitOne(); Printer.PrintMessage(nsgHandler.message); RequestUtils publishRequestUtils1 = new RequestUtils("stubbe.demo.dk/sharptesting", RequestType.PUBLISH) .SetPrimaryAccessChain("klAVQ9UOajySAZZWzdU4IBrdyqs85JOk3TJhnpecFqg="); string message1 = "Oh man, dawg! That sucks, cause I could really use some goddamn sleep right now. Ya' know, I have been awake for 43 hours? Oh man, dawg! That sucks, cause I could really use some goddamn sleep right now. Ya' know, I have been awake for 43 hours? Oh man, dawg! That sucks, cause I could really use some goddamn sleep right now. Ya' know, I have been awake for 43 hours?"; byte[] text1 = { 64, 0, 0, 0 }; publishRequestUtils1.AddPayloadObject(new PayloadObject(new PayloadType(text1), Encoding.UTF8.GetBytes(message1))); Request publishRequest1 = publishRequestUtils1.BuildPublisher(); bwClient.Publish(publishRequest1, publishHandler1); semaphore.WaitOne(); semaphore.WaitOne(); Printer.PrintMessage(nsgHandler.message); RequestUtils publishRequestUtils2 = new RequestUtils("stubbe.demo.dk/sharptesting", RequestType.PUBLISH) .SetPrimaryAccessChain("klAVQ9UOajySAZZWzdU4IBrdyqs85JOk3TJhnpecFqg="); byte[] message2 = Encoding.UTF8.GetBytes("You can sleep at 11PM!"); byte[] text2 = { 64, 0, 0, 0 }; PayloadObject payload2 = new PayloadObject(new PayloadType(text2), message2); publishRequestUtils2.AddPayloadObject(payload2); Request publishRequest2 = publishRequestUtils2.BuildPublisher(); bwClient.Publish(publishRequest2, publishHandler2); semaphore.WaitOne(); semaphore.WaitOne(); Printer.PrintMessage(nsgHandler.message); }
public FrameUtils AddPayloadObjectGetUtils(PayloadObject payloadObject) { payloadObjects.Add(payloadObject); return(this); }
public T GetPayload <T>() { return(JsonConvert.DeserializeObject <T>(PayloadObject.ToString())); }
public RequestUtils AddPayloadObject(PayloadObject payloadObject) { payloadObjects.Add(payloadObject); return(this); }
public void RequestObjectProperties(PayloadObject obj) { mConnectionModel.RequestObjectProperties(obj.ObjectId); }