Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 7
0
        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.");
            }
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
 public FrameUtils AddPayloadObjectGetUtils(PayloadObject payloadObject)
 {
     payloadObjects.Add(payloadObject);
     return(this);
 }
Exemplo n.º 10
0
 public T GetPayload <T>()
 {
     return(JsonConvert.DeserializeObject <T>(PayloadObject.ToString()));
 }
Exemplo n.º 11
0
 public RequestUtils AddPayloadObject(PayloadObject payloadObject)
 {
     payloadObjects.Add(payloadObject);
     return(this);
 }
Exemplo n.º 12
0
 public void RequestObjectProperties(PayloadObject obj)
 {
     mConnectionModel.RequestObjectProperties(obj.ObjectId);
 }