Пример #1
0
 public AtomLinkAsset(SyndicationLink link, SyndicationItem item, System.Net.ICredentials credentials = null)
 {
     this.link        = link;
     this.item        = item;
     this.credentials = credentials;
     this.webRoute    = WebRoute.Create(Uri, Convert.ToUInt64(link.Length), credentials);
 }
Пример #2
0
        public static S3ObjectDestination Create(string s3UriStr, IResource route)
        {
            Uri      s3Uri   = new Uri(s3UriStr);
            WebRoute s3Route = WebRoute.Create(s3Uri);

            return((S3ObjectDestination)(new S3ObjectDestination(s3Uri, s3Route)).To(route));
        }
Пример #3
0
        private static async Task <IStacObject> CreateStacObject(this StacLink stacLink, Uri baseUri = null, ICredentials credentials = null)
        {
            if (stacLink is StacObjectLink)
            {
                return((stacLink as StacObjectLink).StacObject);
            }
            Uri linkUri = stacLink.Uri;

            if (!linkUri.IsAbsoluteUri)
            {
                if (baseUri == null)
                {
                    throw new RoutingException(string.Format("relative route without base Url : {0}", linkUri));
                }
                linkUri = new Uri(baseUri, linkUri);
            }
            var webRoute = WebRoute.Create(linkUri, stacLink.Length, credentials);

            return(StacConvert.Deserialize <IStacObject>(await webRoute.GetStreamAsync()));
        }
Пример #4
0
        public async Task <AssetDeleteReport> DeleteAssets(IAssetsContainer assetsContainer, AssetFilters assetsFilters)
        {
            AssetDeleteReport assetDeleteReport = new AssetDeleteReport();

            logger.LogDebug("Deleting {0} assets of {1}", assetsContainer.Assets.Count(), assetsContainer.Uri.ToString());

            foreach (var asset in assetsContainer.Assets)
            {
                try {
                    WebRoute assetRoute = WebRoute.Create(asset.Value.Uri, 0, credentials);
                    await assetRoute.Remove();
                }
                catch (Exception e)
                {
                    logger.LogWarning("Cannot delete asset {0}({2}) : {1}", asset.Key, e.Message, asset.Value.Uri);
                    assetDeleteReport.AssetsExceptions.Add(asset.Key, e);
                }
            }

            return(assetDeleteReport);
        }
Пример #5
0
        public void Web_route_parses_arguments_passed_into_action()
        {
            var route = new WebRoute<WebRouteTestController>(c => c.Get(7));
            var result = (int)route.Params["id"];
            Assert.Equal(7, result);

            route = new WebRoute<WebRouteTestController>(c => c.GetProducts("somename", 4, 7.25M));
            var name = (string)route.Params["name"];
            Assert.Equal("somename", name);
            var id = (int)route.Params["id"];
            Assert.Equal(4, id);
            var value = (decimal)route.Params["value"];
            Assert.Equal(7.25M, value);

            var model = new WebRouteTestModel { Id = 9, Name = "John", Value = 0.652M };
            route = new WebRoute<WebRouteTestController>(c => c.SaveProduct(model));
            var argModel = (WebRouteTestModel)route.Params["model"];
            Assert.Equal(9, argModel.Id);
            Assert.Equal("John", argModel.Name);
            Assert.Equal(0.652M, argModel.Value);
        }
Пример #6
0
        public static IDictionary <string, IAsset> ResolveEnclosure(SyndicationLink link, SyndicationItem item, ICredentials credentials, string key)
        {
            Dictionary <string, IAsset> assets = new Dictionary <string, IAsset>();
            WebRoute webRoute = WebRoute.Create(link.Uri, Convert.ToUInt64(link.Length), credentials);

            if (webRoute.IsFolder)
            {
                IEnumerable <WebRoute> childrenRoutes = webRoute.ListFolder();
                int i = 0;
                foreach (var childRoute in childrenRoutes)
                {
                    i++;
                    assets.Add(key + "-" + i, new GenericAsset(childRoute,
                                                               link.Title + " " + childRoute.Uri.ToString().Replace(webRoute.Uri.ToString(), ""),
                                                               new string[] { link.RelationshipType }));
                }
            }
            else
            {
                assets.Add(key, new AtomLinkAsset(link, item, credentials));
            }

            return(assets);
        }
Пример #7
0
 internal HttpRouterConfigurator AddRoute <TController>(string name, WebRoute <TController> route)
 {
     routes.Add(name, route);
     return(this);
 }
Пример #8
0
 public void Web_route_parses_stores_everthing_in_route()
 {
     var route = new WebRoute<WebRouteTestController>(c => c.GetProducts("test", 9, 1.25M));
     var controller = (string)route.Route["Controller"];
     Assert.Equal(controller, "WebRouteTest");
     var action = (string)route.Route["Action"];
     Assert.Equal(action, "GetProducts");
     var name = (string)route.Route["name"];
     Assert.Equal(name, "test");
     var id = (int)route.Route["id"];
     Assert.Equal(id, 9);
     var value = (decimal)route.Route["value"];
     Assert.Equal(value, 1.25M);
 }
Пример #9
0
 public void Web_route_parses_controller_name()
 {
     var route = new WebRoute<WebRouteTestController>(c => c.Get(1));
     var result = route.Controller;
     Assert.Equal("WebRouteTest", result);
 }
Пример #10
0
 public void Web_route_parses_action_name()
 {
     var route = new WebRoute<WebRouteTestController>(c => c.Get(2));
     var result = route.Action;
     Assert.Equal("Get", result);
 }