| 
									
										
										
										
											2015-02-24 08:46:48 +08:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2015-03-20 05:35:50 +08:00
										 |  |  |  * Minimalist Object Storage, (C) 2015 Minio, Inc. | 
					
						
							| 
									
										
										
										
											2015-02-24 08:46:48 +08:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  |  * you may not use this file except in compliance with the License. | 
					
						
							|  |  |  |  * You may obtain a copy of the License at | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *     http://www.apache.org/licenses/LICENSE-2.0
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  |  * distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  |  * See the License for the specific language governing permissions and | 
					
						
							|  |  |  |  * limitations under the License. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-19 08:49:33 +08:00
										 |  |  | package api | 
					
						
							| 
									
										
										
										
											2015-02-16 09:03:27 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"net/url" | 
					
						
							|  |  |  | 	"strconv" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-09 07:28:14 +08:00
										 |  |  | 	"github.com/minio-io/minio/pkg/storage/drivers" | 
					
						
							| 
									
										
										
										
											2015-02-27 09:23:42 +08:00
										 |  |  | ) | 
					
						
							| 
									
										
										
										
											2015-02-16 09:03:27 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-24 08:46:48 +08:00
										 |  |  | // parse bucket url queries
 | 
					
						
							| 
									
										
										
										
											2015-03-24 11:40:21 +08:00
										 |  |  | func getBucketResources(values url.Values) (v drivers.BucketResourcesMetadata) { | 
					
						
							| 
									
										
										
										
											2015-02-16 09:03:27 +08:00
										 |  |  | 	for key, value := range values { | 
					
						
							|  |  |  | 		switch true { | 
					
						
							|  |  |  | 		case key == "prefix": | 
					
						
							| 
									
										
										
										
											2015-02-27 09:23:42 +08:00
										 |  |  | 			v.Prefix = value[0] | 
					
						
							| 
									
										
										
										
											2015-02-16 09:03:27 +08:00
										 |  |  | 		case key == "marker": | 
					
						
							| 
									
										
										
										
											2015-02-27 09:23:42 +08:00
										 |  |  | 			v.Marker = value[0] | 
					
						
							|  |  |  | 		case key == "max-keys": | 
					
						
							|  |  |  | 			v.Maxkeys, _ = strconv.Atoi(value[0]) | 
					
						
							| 
									
										
										
										
											2015-02-16 09:03:27 +08:00
										 |  |  | 		case key == "delimiter": | 
					
						
							| 
									
										
										
										
											2015-02-27 09:23:42 +08:00
										 |  |  | 			v.Delimiter = value[0] | 
					
						
							| 
									
										
										
										
											2015-05-06 05:27:18 +08:00
										 |  |  | 		case key == "encoding-type": | 
					
						
							|  |  |  | 			v.EncodingType = value[0] | 
					
						
							| 
									
										
										
										
											2015-02-16 09:03:27 +08:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-04-27 18:04:29 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | // check if req query values have acl
 | 
					
						
							|  |  |  | func isRequestBucketACL(values url.Values) bool { | 
					
						
							|  |  |  | 	for key := range values { | 
					
						
							|  |  |  | 		switch true { | 
					
						
							|  |  |  | 		case key == "acl": | 
					
						
							|  |  |  | 			return true | 
					
						
							|  |  |  | 		default: | 
					
						
							|  |  |  | 			return false | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	return false | 
					
						
							|  |  |  | } |