f85d94288d 
								
							 
						 
						
							
							
								
								api: extract http headers with some supported header list. ( #2268 )  
							
							
							
						 
						
							2016-07-22 20:31:45 -07:00  
				
					
						
							
							
								 
						
							
								c1e953b368 
								
							 
						 
						
							
							
								
								api: Set content-encoding properly if set. ( #2245 )  
							
							... 
							
							
							
							Additionally don't set content-type if not present, golang http
server automaticaly handles this and sets it automatically. 
							
						 
						
							2016-07-20 12:40:20 -07:00  
				
					
						
							
							
								 
						
							
								e5cd35aad0 
								
							 
						 
						
							
							
								
								XL: GetObjectInfo() store and retrieve user-defined object metadata. ( #2189 )  
							
							
							
						 
						
							2016-07-12 12:45:17 -07:00  
				
					
						
							
							
								 
						
							
								ec35330ebb 
								
							 
						 
						
							
							
								
								XL/fs: GetObject should validate all its inputs. ( #2142 )  
							
							... 
							
							
							
							Fixes  #2141 
Fixes  #2139  
						
							2016-07-08 07:46:49 -07:00  
				
					
						
							
							
								 
						
							
								a51bb1d728 
								
							 
						 
						
							
							
								
								http: handle request range like Amazon S3. ( #2112 )  
							
							... 
							
							
							
							Fixes  #2098  
						
							2016-07-06 12:50:24 -07:00  
				
					
						
							
							
								 
						
							
								3c48537f20 
								
							 
						 
						
							
							
								
								refactor: refactor code to separate fs into object-layer and fs layer. ( #1305 )  
							
							
							
						 
						
							2016-04-16 16:25:53 -07:00  
				
					
						
							
							
								 
						
							
								0479d4976b 
								
							 
						 
						
							
							
								
								objectAPI: Fix object API interface, remove unnecessary structs.  
							
							... 
							
							
							
							ObjectAPI changes.
```
ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (ListObjectsInfo, *probe.Error)
ListMultipartUploads(bucket, objectPrefix, keyMarker, uploadIDMarker, delimiter string, maxUploads int) (ListMultipartsInfo, *probe.Error)
ListObjectParts(bucket, object, uploadID string, partNumberMarker, maxParts int) (ListPartsInfo, *probe.Error)
CompleteMultipartUpload(bucket string, object string, uploadID string, parts []completePart) (ObjectInfo, *probe.Error)
``` 
							
						 
						
							2016-04-03 15:25:01 -07:00  
				
					
						
							
							
								 
						
							
								efc80343e3 
								
							 
						 
						
							
							
								
								fs: Break fs package to top-level and introduce ObjectAPI interface.  
							
							... 
							
							
							
							ObjectAPI interface brings in changes needed for XL ObjectAPI layer.
The new interface for any ObjectAPI layer is as below
```
// ObjectAPI interface.
type ObjectAPI interface {
        // Bucket resource API.
        DeleteBucket(bucket string) *probe.Error
        ListBuckets() ([]BucketInfo, *probe.Error)
        MakeBucket(bucket string) *probe.Error
        GetBucketInfo(bucket string) (BucketInfo, *probe.Error)
        // Bucket query API.
        ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (ListObjectsResult, *probe.Error)
        ListMultipartUploads(bucket string, resources BucketMultipartResourcesMetadata) (BucketMultipartResourcesMetadata, *probe.Error)
        // Object resource API.
        GetObject(bucket, object string, startOffset int64) (io.ReadCloser, *probe.Error)
        GetObjectInfo(bucket, object string) (ObjectInfo, *probe.Error)
        PutObject(bucket string, object string, size int64, data io.Reader, metadata map[string]string) (ObjectInfo, *probe.Error)
        DeleteObject(bucket, object string) *probe.Error
        // Object query API.
        NewMultipartUpload(bucket, object string) (string, *probe.Error)
        PutObjectPart(bucket, object, uploadID string, partID int, size int64, data io.Reader, md5Hex string) (string, *probe.Error)
        ListObjectParts(bucket, object string, resources ObjectResourcesMetadata) (ObjectResourcesMetadata, *probe.Error)
        CompleteMultipartUpload(bucket string, object string, uploadID string, parts []CompletePart) (ObjectInfo, *probe.Error)
        AbortMultipartUpload(bucket, object, uploadID string) *probe.Error
}
``` 
							
						 
						
							2016-04-01 15:58:39 -07:00  
				
					
						
							
							
								 
						
							
								52751d81cb 
								
							 
						 
						
							
							
								
								cleanup: Rename ObjectMetadata as ObjectInfo.  
							
							... 
							
							
							
							Fixes  #1215  
						
							2016-03-11 16:58:08 -08:00  
				
					
						
							
							
								 
						
							
								adf74ffdb0 
								
							 
						 
						
							
							
								
								api: DRY code and add new test  
							
							... 
							
							
							
							This commit makes code cleaner and reduces the repetitions in the code
base. Specifically, it reduces the clutter in setObjectHeaders. It also
merges encodeSuccessResponse and encodeErrorResponse together because
they served no purpose differently. Finally, it adds a simple test for
generateRequestID. 
							
						 
						
							2016-03-06 13:26:27 -08:00  
				
					
						
							
							
								 
						
							
								ee1b86e517 
								
							 
						 
						
							
							
								
								api: Implement support for additional request headers.  
							
							... 
							
							
							
							Now GetObject and HeadObject both support
  - If-Modified-Since, If-Unmodified-Since
  - If-Match, If-None-Match
request headers.
These headers are used to further handle the responses for GetObject
and HeadObject API.
Fixes  #1098  
							
						 
						
							2016-02-28 19:34:20 -08:00  
				
					
						
							
							
								 
						
							
								3ff8a1b719 
								
							 
						 
						
							
							
								
								api: Implement CopyObject s3 API, doing server side copy.  
							
							... 
							
							
							
							Fixes  #1172  
						
							2016-02-27 19:51:59 -08:00  
				
					
						
							
							
								 
						
							
								a4c005ce30 
								
							 
						 
						
							
							
								
								multipart: Code cleanup  
							
							... 
							
							
							
							- More locking cleanup. Fix naming convention.
- Simplify concatenation and blocking calls. 
							
						 
						
							2016-02-05 14:42:09 -08:00  
				
					
						
							
							
								 
						
							
								0aedb67de0 
								
							 
						 
						
							
							
								
								contentType: Reply back proper contentTypes based on the file extension.  
							
							... 
							
							
							
							Currently the server would set 'application/octet-stream' for all
objects, set this value based on the file extension transparently.
This is useful in case of minio browser to facilitate displaying
proper icons for the different mime data types. 
							
						 
						
							2016-02-01 12:19:58 -08:00  
				
					
						
							
							
								 
						
							
								43685788ab 
								
							 
						 
						
							
							
								
								Don't set empty ETag values  
							
							... 
							
							
							
							Currently, metadata.Md5 value isn't populated, yet the ETag is set to
`""`, causing AWS Java SDK to fail integrity checks with GetObject
api calls. 
							
						 
						
							2016-01-28 22:57:23 -05:00  
				
					
						
							
							
								 
						
							
								0c6a6dc380 
								
							 
						 
						
							
							
								
								http: Enable Transfer-Encoding chunked transfer  
							
							... 
							
							
							
							Fixes  #1020  
						
							2016-01-08 00:47:20 -08:00  
				
					
						
							
							
								 
						
							
								3c71c5c80c 
								
							 
						 
						
							
							
								
								s3cmd: Handle support for s3cmd.  
							
							
							
						 
						
							2015-12-09 17:16:53 -08:00  
				
					
						
							
							
								 
						
							
								704fa420a3 
								
							 
						 
						
							
							
								
								Reply back proper statuses for DeleteBucket/DeleteObject  
							
							
							
						 
						
							2015-10-16 20:03:44 -07:00  
				
					
						
							
							
								 
						
							
								762b798767 
								
							 
						 
						
							
							
								
								Migrate this project to minio micro services code  
							
							
							
						 
						
							2015-10-16 11:26:08 -07:00