예제 #1
0
        public HttpResponseMessage  Post(string name)
        {
            string content = Request.Content.ReadAsStringAsync().Result;
            //What is accept type? Get conversion strategy from factory. Does XML or JSON conversion
            var parser = ConversionStrategyFactory.CreateParser(Request.Headers.Accept);
            //Try to convert to pipe or feed using strategy
            var result = parser.Parse(content);

            //Return call to AddFeed or AddPipe
            if (result.Item1 == ParseResult.NewFeed)
            {
                return(AddFeed(name, result.Item2));
            }
            else if (result.Item1 == ParseResult.NewPipe)
            {
                return(AddPipe(name, result.Item3));
            }

            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Could not parse new feed or pipe from the body content"));
        }
 private ConversionStrategy GetConversionStrategy(HundredGroup hundredGroup)
 {
     var factory = new ConversionStrategyFactory(NumberDescriber);
     return factory.CreateConversionStrategy(hundredGroup);
 }