Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ImageSharpMiddleware"/> class.
        /// </summary>
        /// <param name="next">The next middleware in the pipeline</param>
        /// <param name="options">The middleware configuration options</param>
        /// <param name="loggerFactory">An <see cref="ILoggerFactory"/> instance used to create loggers</param>
        /// <param name="uriParser">An <see cref="IUriParser"/> instance used to parse URI's for commands</param>
        /// <param name="resolvers">A collection of <see cref="IImageResolver"/> instances used to resolve images</param>
        /// <param name="processors">A collection of <see cref="IImageWebProcessor"/> instances used to process images</param>
        /// <param name="cache">An <see cref="IImageCache"/> instance used for caching images</param>
        public ImageSharpMiddleware(
            RequestDelegate next,
            IOptions <ImageSharpMiddlewareOptions> options,
            ILoggerFactory loggerFactory,
            IUriParser uriParser,
            IEnumerable <IImageResolver> resolvers,
            IEnumerable <IImageWebProcessor> processors,
            IImageCache cache)
        {
            Guard.NotNull(next, nameof(next));
            Guard.NotNull(options, nameof(options));
            Guard.NotNull(loggerFactory, nameof(loggerFactory));
            Guard.NotNull(uriParser, nameof(uriParser));
            Guard.NotNull(resolvers, nameof(resolvers));
            Guard.NotNull(processors, nameof(processors));
            Guard.NotNull(cache, nameof(cache));

            this.next       = next;
            this.options    = options.Value;
            this.uriParser  = uriParser;
            this.resolvers  = resolvers;
            this.processors = processors;
            this.cache      = cache;

            var commands = new List <string>();

            foreach (IImageWebProcessor processor in this.processors)
            {
                commands.AddRange(processor.Commands);
            }

            this.knownCommands = commands;

            this.logger = loggerFactory.CreateLogger <ImageSharpMiddleware>();
        }
Ejemplo n.º 2
0
 private ImageConfig(Builder builder)
 {
     CacheMode        = builder.CacheMode;
     MemoryCacheImpl  = builder.MemoryCacheImpl;
     StorageCacheImpl = builder.StorageCacheImpl;
     DecoderTypes     = builder.DecoderTypes;
     UriParser        = builder.UriParser;
 }
Ejemplo n.º 3
0
        /// <summary>Initializes a new instance of the <see cref="HydraClassGenerator"/> class.</summary>
        /// <param name="uriParsers">The URI parsers.</param>
        public HydraClassGenerator(IEnumerable<IUriParser> uriParsers)
        {
            if (uriParsers == null)
            {
                throw new ArgumentNullException("uriParsers");
            }

            _hydraUriParser = (_uriParsers = uriParsers).FirstOrDefault(parser => parser is HydraUriParser);
        }
Ejemplo n.º 4
0
        /// <summary>Initializes a new instance of the <see cref="HydraClassGenerator"/> class.</summary>
        /// <param name="uriParsers">The URI parsers.</param>
        public HydraClassGenerator(IEnumerable <IUriParser> uriParsers)
        {
            if (uriParsers == null)
            {
                throw new ArgumentNullException("uriParsers");
            }

            _hydraUriParser = (_uriParsers = uriParsers).FirstOrDefault(parser => parser is HydraUriParser);
        }
Ejemplo n.º 5
0
 public static bool TryParse <T>(this IUriParser parser, Uri uri, out T result)
 {
     if (parser.TryParse(uri, out var directResult) && directResult is T castedResult)
     {
         result = castedResult;
         return(true);
     }
     result = default;
     return(false);
 }
Ejemplo n.º 6
0
        public static void Run(
            [QueueTrigger(ResourceNames.UriQueue, Connection = ResourceNames.ConnectionString)]
            string myQueueItem,
            ILogger log,

            [Inject] IUriParser uriParser)
        {
            var crawlUri = JsonConvert.DeserializeObject <Anchor>(myQueueItem);

            log.LogInformation($"Processing Uri {crawlUri.Uri.ToString()}");

            uriParser.Crawl(crawlUri);

            log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
        }
Ejemplo n.º 7
0
 private ImageConfig(Builder builder)
 {
     if (builder.StorageCacheImpl == null)
     {
         CacheMode = CacheMode.NoCache;
     }
     else
     {
         CacheMode = CacheMode.OnlyStorageCache;
     }
     StorageCacheImpl = builder.StorageCacheImpl;
     DecoderTypes     = builder.DecoderTypes;
     UriParser        = builder.UriParser;
     NewApiSupported  = builder.NewApiSupported;
 }
Ejemplo n.º 8
0
 public static bool TryParse(this IUriParser parser, Uri uri, out object result)
 {
     if (parser.CanParse(uri))
     {
         try
         {
             result = parser.Parse(uri);
             return(true);
         }
         catch
         {
         }
     }
     result = default;
     return(false);
 }
Ejemplo n.º 9
0
 public static T Parse <T>(this IUriParser parser, Uri uri)
 {
     return((T)parser.Parse(uri));
 }
Ejemplo n.º 10
0
 public SolidColorContentProvider(IUriParser <Color> parser)
 {
     _parser = parser;
 }