public static void PutCORSConfiguration(CORSConfiguration configuration) { PutCORSConfigurationRequest request = new PutCORSConfigurationRequest { BucketName = bucketName, Configuration = configuration }; var response = client.PutCORSConfiguration(request); }
static async Task PutCORSConfigurationAsync(CORSConfiguration configuration) { PutCORSConfigurationRequest request = new PutCORSConfigurationRequest { BucketName = bucketName, Configuration = configuration }; var response = await s3Client.PutCORSConfigurationAsync(request); }
public async Task <IActionResult> CreateBucket([FromBody] CreateBucketRequest request) { await _s3.PutBucketAsync(request.BucketName); var corsConfigurationRequest = new PutCORSConfigurationRequest { BucketName = request.BucketName, Configuration = new CORSConfiguration { Rules = new List <CORSRule> { new CORSRule { AllowedOrigins = new List <string> { "https://localhost:3000" }, AllowedMethods = new List <string> { "PUT", "POST", "DELETE" }, AllowedHeaders = new List <string> { "*" }, ExposeHeaders = new List <string> { "ETag" } }, new CORSRule { AllowedOrigins = new List <string> { "*" }, AllowedMethods = new List <string> { "GET" }, } } } }; await _s3.PutCORSConfigurationAsync(corsConfigurationRequest); return(new OkObjectResult(request.BucketName)); }
/// <summary> /// 指定した接続情報でCORS設定を変更する。 /// </summary> public async Task <bool> SetCorsConfigurationAsync(StorageConfigModel storageConfig, string corsConfigStr) { //CORS設定の更新 PutCORSConfigurationRequest request = new PutCORSConfigurationRequest() { BucketName = storageConfig.Bucket }; using (var reader = new StringReader(corsConfigStr)) { var deserializer = new XmlSerializer(typeof(CORSConfiguration)); var corsConfig = deserializer.Deserialize(reader) as CORSConfiguration; request.Configuration = corsConfig; } AmazonWebServiceResponse response; try { var s3Client = GenerateConfig(storageConfig); response = await s3Client.PutCORSConfigurationAsync(request); } catch (AmazonS3Exception e) { //XMLに不備があると、例外になってしまう。 //接続エラー(System.Net.Http.HttpRequestException)との区別はつくので、他のAmazonS3Exceptionエラーとは区別できなくなるが、まとめてcatch LogWarning($"CORS設定に失敗しました。Message = {e.Message}"); return(false); } if (response.HttpStatusCode == HttpStatusCode.OK) { return(true); } else { LogWarning($"CORS設定に失敗しました。HttpStatusCode = {response.HttpStatusCode}. {response.ResponseMetadata.Metadata}"); return(false); } }
/// <summary> /// Ativa regra de CORS no Bucket para permitir acesso externo via javascript. /// </summary> /// <param name="bucketName">Nome do Bucket para adicionar a regra de CORS</param> /// <param name="allowedOrigin">Origigem a ser ativada.</param> /// <returns></returns> public override async Task SetCorsToBucketAsync(string bucketName, string allowedOrigin) { ValidateInstance(); // Remove configuração CORS var requestDelete = new DeleteCORSConfigurationRequest { BucketName = bucketName }; await _client.DeleteCORSConfigurationAsync(requestDelete); // Cria nova configuração CORS var configuration = new CORSConfiguration { Rules = new List <CORSRule> { new CORSRule { Id = "enContactPutByJavascriptRule", AllowedMethods = new List <string> { "PUT" }, AllowedHeaders = new List <string> { "*" }, AllowedOrigins = new List <string> { allowedOrigin ?? "*" } }, } }; var requestCreate = new PutCORSConfigurationRequest { BucketName = bucketName, Configuration = configuration }; await _client.PutCORSConfigurationAsync(requestCreate).ConfigureAwait(false); }
public Task <PutCORSConfigurationResponse> PutCORSConfigurationAsync(PutCORSConfigurationRequest request, CancellationToken cancellationToken = default) { throw new NotImplementedException(); }
public PutCORSConfigurationResponse PutCORSConfiguration(PutCORSConfigurationRequest request) { throw new NotImplementedException(); }
public void PutCORSConfigurationAsync(PutCORSConfigurationRequest request, AmazonServiceCallback <PutCORSConfigurationRequest, PutCORSConfigurationResponse> callback, AsyncOptions options = null) { throw new System.NotImplementedException(); }