Example #1
0
 public static async Task <T> ReadJsonAsync <T>(this IBlobReader reader, string path, JsonSerializer serializer, CancellationToken cancellationToken = default)
 {
     using (var jsonReader = new JsonTextReader(new StreamReader(await reader.OpenReadAsync(path, cancellationToken).ConfigureAwait(false))))
     {
         return(serializer.Deserialize <T>(jsonReader));
     }
 }
Example #2
0
 public static async Task <string> ReadAllTextAsync(this IBlobReader reader, string path, CancellationToken cancellationToken = default)
 {
     using (var streamReader = new StreamReader(await reader.OpenReadAsync(path, cancellationToken).ConfigureAwait(false)))
     {
         return(await streamReader.ReadToEndAsync().ConfigureAwait(false));
     }
 }
Example #3
0
 public ParsingWorkflow(IJobStatusStore statusStore,
                        IBlobReader blobReader,
                        IContentExtractor extractor,
                        ISearchIndex searchIndex,
                        IDocumentScorer documentScorer)
 {
     this.statusStore = statusStore;
     this.blobReader  = blobReader;
     this.extractor   = extractor;
     this.searchIndex = searchIndex;
     this.docScorer   = documentScorer;
 }
 public BlobProcessor(
     IBlobReader blobReader,
     IBlobSaver blobSaver,
     IMessageProcessor messageConverter,
     IStructureBuilder structureBuilder,
     ILog log,
     string instanceTag = null,
     string lastBlob    = null)
 {
     _blobReader       = blobReader;
     _blobSaver        = blobSaver;
     _structureBuilder = structureBuilder;
     _messageConverter = messageConverter;
     _log         = log;
     _instanceTag = instanceTag;
     _lastBlob    = lastBlob;
 }
Example #5
0
        public SpriteBatchRenderer(IDevice device, IBlobReader blobReader, ICameraFactory cameraFactory)
        {
            _device  = device;
            _context = _device.ImmediateContext;
            _camera  = cameraFactory.CreateOrhographicCamera();

            _buffer       = device.CreateVertexBuffer <Vertex2D>(MaxVertices, BufferUsage.Dynamic, BufferAccessFlags.Write);
            _indices      = device.CreateIndexBuffer(CreateIndices());
            _sampler      = device.CreateSampler(true);
            _blendState   = device.CreateBlendState();
            _cameraBuffer = device.CreateConstantBuffer(new Camera {
                Transform = _camera.ViewProjection
            });
            using var vertexShaderBlob = blobReader.ReadFromFile("Shaders/VertexShader2D.cso");
            _vertexShader             = device.CreateVertexShader(vertexShaderBlob);
            using var pixelShaderBlob = blobReader.ReadFromFile("Shaders/PixelShader2D.cso");
            _pixelShader = device.CreatePixelShader(pixelShaderBlob);

            _inputLayout = device.CreateInputLayout(new VertexLayout(3).Append("Position", VertexLayoutTypes.Position2D).Append("Textures", VertexLayoutTypes.Texture2D).Append("Color", VertexLayoutTypes.Float4Color), vertexShaderBlob);
        }
Example #6
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "translation/{lang}/{resourceGroup}_{resource}")] HttpRequest req,
            string lang, string resourceGroup, string resource,
            ILogger log)
        {
            log.LogInformation($"C# HTTP trigger function processed a request. Requested language: {lang}, resource group: {resourceGroup}, resource: {resource}");

            try
            {
                // Load configurations
                string storageConnString      = Environment.GetEnvironmentVariable("AzureWebJobsStorage");
                string langFilesContainerName = Environment.GetEnvironmentVariable("LanaguageFilesContainer");

                // Get the blob reader and get the required translation file.
                TranslatorFactory translatorFactory = new TranslatorFactory();
                IBlobReader       blobReader        = translatorFactory.GetBlobReader();
                BlobDownloadInfo  languageFile      = await blobReader.ReadBlobAsync(storageConnString, langFilesContainerName, $"{lang}.xml");

                if (languageFile != null)
                {
                    // Read the requested resource from the translation file
                    ITranslationReader translationReader = translatorFactory.GetTranslationReader();
                    string             result            = translationReader.ReadResource(lang, resourceGroup, resource, log, languageFile.Content);
                    if (!string.IsNullOrEmpty(result))
                    {
                        return(new OkObjectResult(result));
                    }
                    return(new BadRequestObjectResult("Requested resource does not exist"));
                }

                log.LogInformation("Translations don't exist for the language");
                return(new BadRequestObjectResult("Translations don't exist for the language"));
            }
            catch (Exception e)
            {
                log.LogError(e, "Unexpected error");
                return(new BadRequestResult());
            }
        }
Example #7
0
 public static Task <BlobElement[]> ListAsync(this IBlobReader blobReader, CancellationToken cancellationToken = default)
 {
     return(blobReader.ListAsync(string.Empty, cancellationToken));
 }
Example #8
0
 public static Task <T> ReadJsonAsync <T>(this IBlobReader reader, string path, CancellationToken cancellationToken = default)
 {
     return(reader.ReadJsonAsync <T>(path, _serializer, cancellationToken));
 }
Example #9
0
 public BlobController(IBlobWriter blobWriter, IBlobReader blobReader, ILogger <BlobController> logger = null)
 {
     _blobWriter = blobWriter ?? throw new ArgumentNullException(nameof(blobWriter));
     _blobReader = blobReader ?? throw new ArgumentNullException(nameof(blobReader));
     _logger     = logger;
 }