public GoogleCloudStorageSource( Uri uri, GoogleStorageCredential credential = default, IHttpClientFactory?httpClientFactory = default, ILogger <GoogleCloudStorageSource>?logger = default) : base(uri, credential, default, default, default, httpClientFactory, logger) { }
public GoogleCloudStorageDestination( Uri uri, GoogleStorageCredential credential = default, string?contentType = default, string?cacheControl = default, bool isPublic = false, IHttpClientFactory?httpClientFactory = default, ILogger <GoogleCloudStorageDestination>?logger = default) : base(uri, credential, contentType, cacheControl, isPublic, httpClientFactory, logger) { }
public IImageSource CreateSource(Uri?uri, Func <IImageSource> next) { if (null != uri && uri.Scheme == "gs") { var q = HttpUtility.ParseQueryString(uri.Query); var accessToken = q.Get(UriParameters.AccessToken) ?? throw new InvalidOperationException("No access token provided in GCS source uri."); return(new GoogleCloudStorageSource( uri: StripQuery(uri), credential: GoogleStorageCredential.ViaAccessToken(accessToken), httpClientFactory: _httpClientFactory, logger: _loggerFactory.CreateLogger <GoogleCloudStorageSource>() )); } return(next()); }
public IImageDestination CreateDestination(Uri?uri, Func <IImageDestination> next) { if (null != uri && uri.Scheme == "gs") { var q = HttpUtility.ParseQueryString(uri.Query); var accessToken = q.Get(UriParameters.AccessToken) ?? throw new InvalidOperationException("No access token provided in GCS destination uri."); var cacheControl = q.Get(UriParameters.CacheControl); var contentType = q.Get(UriParameters.ContentType); var rawPublic = q.Get(UriParameters.Public); var isPublic = !string.IsNullOrEmpty(rawPublic) && _truthy.Contains(rawPublic); return(new GoogleCloudStorageDestination( uri: StripQuery(uri), credential: GoogleStorageCredential.ViaAccessToken(accessToken), contentType: contentType, cacheControl: cacheControl, isPublic: isPublic, httpClientFactory: _httpClientFactory, logger: _loggerFactory.CreateLogger <GoogleCloudStorageDestination>() )); } return(next()); }