static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 form = new Form1(); IAIntAirAct intAirAct = IAIntAirAct.New(); intAirAct.Route(new IARoute("PUT", "/image"), delegate(IARequest req, IAResponse res) { logger.TraceEvent(TraceEventType.Information, 0, "Received request on {0}", req.Route); String url = req.BodyAsString(); form.BeginInvoke((Action) delegate() { form.LoadImageFromURL(url); }); }); intAirAct.Start(); Application.Run(form); intAirAct.Stop(); }
public void SuccessfulPairingTest() { Setup(); // Setup the 'became paired' route on the client. Client.Route(Routes.BecomePairedRoute, delegate(IARequest request, IAResponse response) { // In response to receiving 'became paired', we test some properties on the server // Find the mock pairable person we created, test their pairing state PairablePerson person = (PairablePerson)Server.Locator.Persons.Find(x => x.Identifier.Equals("Bob")); Assert.AreEqual(PairingState.Paired, person.PairingState); // Find the Client's IADevice on the server, test its pariing state PairableDevice device = (PairableDevice)Server.Locator.Devices.Find(x => x.Identifier.Equals(Client.OwnDevice.Name)); Assert.AreEqual(PairingState.Paired, device.PairingState); // Test that the two were paired with each other Assert.AreEqual(person.HeldDeviceIdentifier, device.Identifier); Assert.AreEqual(device.HeldByPersonIdentifier, person.Identifier); doneWaitingForResponse = true; }); Server.Start(); Client.Start(); WaitForConnections(); // Create a person on the server, who is attempting to pair their device // NB: Setting PairingAttempt on a person begins a 3 second timer, after which it resets to NotPaired // The test should always complete before then, though Server.Locator.Persons.Add(new PairablePerson() { Identifier = "Bob", Location = new System.Windows.Point(1, 1), PairingState = PairingState.PairingAttempt }); // Notify the server that the client wants to be paired Client.SendRequest(new IARequest(Routes.RequestPairingRoute), Server.IntAirAct.OwnDevice); WaitForResponse(); Teardown(); }
static void Main(string[] args) { Program p = new Program(); AmazonS3 s3Client = Program.GetS3Client(); //Program.CreateNewFolder(s3Client, Program.BUCKET_NAME, "first folder"); //Program.CreateBucket(s3Client); IAIntAirAct intAirAct = IAIntAirAct.New(); IARoute imageRoute = IARoute.Get("/SKA/image/{slicenumber}"); IARoute imageRouteParameters = IARoute.Get("/SKA/image/{slicenumber}/{cmap}/{clipping}"); IARoute numberOfSlicesRoute = IARoute.Get("/SKA/numberOfSlices/{cmap}/{clipping}"); intAirAct.Route(numberOfSlicesRoute, delegate(IARequest request, IAResponse response) { try { string cmap = request.Parameters["cmap"]; string clipping = request.Parameters["clipping"]; Program.SliceNumbers(s3Client, cmap, clipping); response.SetBodyWithString(Program.SliceNumbers(s3Client, cmap, clipping)); } catch { response.SetBodyWithString("0"); } }); intAirAct.Route(imageRouteParameters, delegate(IARequest request, IAResponse response) { try { int sliceNumber = Convert.ToInt32(request.Parameters["slicenumber"]); string cmap = request.Parameters["cmap"]; string clipping = request.Parameters["clipping"]; byte[] data = Program.GetImage(sliceNumber, cmap, clipping); if (Program.imgfound == false) { response.StatusCode = 404; Program.imgfound = true; } else { response.Body = data; response.ContentType = "image/jpeg"; } } catch { response.StatusCode = 404; } }); intAirAct.Port = 12350; intAirAct.Start(); Console.WriteLine(""); Console.WriteLine(WebServer.GetExternalIP() + "Port " + intAirAct.Port.ToString()); Console.WriteLine("\nA simple webserver. Press any key to quit."); Console.ReadKey(); }