예제 #1
0
        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();
        }
예제 #2
0
        public void GetConstructorTest()
        {
            IARoute route = IARoute.Get("");

            Assert.AreEqual("GET", route.Action);
        }