storj.io/minio@v0.0.0-20230509071714-0cbc90f649b1/cmd/gateway-env.go (about) 1 /* 2 * MinIO Cloud Storage, (C) 2018 MinIO, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package cmd 18 19 type gatewaySSE []string 20 21 const ( 22 // GatewaySSES3 is set when SSE-S3 encryption needed on both gateway and backend 23 gatewaySSES3 = "S3" 24 // GatewaySSEC is set when SSE-C encryption needed on both gateway and backend 25 gatewaySSEC = "C" 26 ) 27 28 func (sse gatewaySSE) SSES3() bool { 29 for _, v := range sse { 30 if v == gatewaySSES3 { 31 return true 32 } 33 } 34 return false 35 } 36 37 func (sse gatewaySSE) SSEC() bool { 38 for _, v := range sse { 39 if v == gatewaySSEC { 40 return true 41 } 42 } 43 return false 44 } 45 46 func (sse gatewaySSE) IsSet() bool { 47 return sse.SSES3() || sse.SSEC() 48 }