Harshavardhana
2d96d5ad57
Enhance error responses for request limit and bring some code from api errors
...
~~~
mc: <ERROR> Failed to create bucket for URL [http://localhost:9000/newbucket-101 ]. Reason: [Reduce your request rate.].
~~~
Client sees proper errors now.
2015-04-26 22:10:59 -07:00
Frederick F. Kautz IV
258bf55e31
Bandwidth quota now supports 100-Continue
2015-04-26 20:07:05 -07:00
Frederick F. Kautz IV
9431a54a27
finish me
2015-04-26 19:25:48 -07:00
Frederick F. Kautz IV
202fc26719
Revert "Exporting WriteErrorResponse"
...
This reverts commit e05d46a0b5
.
2015-04-26 17:02:49 -07:00
Frederick F. Kautz IV
e05d46a0b5
Exporting WriteErrorResponse
2015-04-26 16:28:54 -07:00
Frederick F. Kautz IV
64f7d04cd1
Adding connection limits
2015-04-26 16:14:51 -07:00
Frederick F. Kautz IV
7867ee89fa
Bandwidth quotas now work on data returned from server
2015-04-26 15:49:55 -07:00
Frederick F. Kautz IV
e2403cbc56
Quotas are more accurate, occur on Read()
2015-04-26 15:07:57 -07:00
Frederick F. Kautz IV
bbb493080f
Switching back to BigEndian
2015-04-25 18:16:21 -07:00
Frederick F. Kautz IV
3a48f9fe4d
Adding quotas based upon type
2015-04-25 18:07:02 -07:00
Harshavardhana
b75f46aaa0
Use standard functions to achieve byteorder converstion
2015-04-25 13:18:15 -07:00
Frederick F. Kautz IV
e2475925ea
quota handlers now log against ip properly against a duration
2015-04-24 20:49:33 -07:00
Harshavardhana
b3a9d8b058
Merge pull request #483 from harshavardhana/pr_out_memory_now_handles_submitting_large_files_fixes_482
2015-04-24 15:25:38 -07:00
Harshavardhana
c5d8ca245d
Memory now handles submitting large files - fixes #482
2015-04-24 15:22:22 -07:00
Frederick F. Kautz IV
fda50d52c8
Add initial framework for quota
2015-04-24 00:16:29 -07:00
Harshavardhana
5ae8d34f76
Donut mode will now take multiple paths as argument, updated docs as well
2015-04-23 11:36:14 -07:00
Harshavardhana
a5729e8c02
Disable verifying ACL until we get webcli up and running
2015-04-23 03:21:08 -07:00
Harshavardhana
e95604ff86
Finishing all the test case support for ACL and other fixes
2015-04-23 01:24:46 -07:00
Harshavardhana
848c4ee31c
Further fixes for ACL support, currently code is disabled in all the handlers
...
Disabled because due to lack of testing support. Once we get that in we can
uncomment them back.
2015-04-22 19:31:45 -07:00
Harshavardhana
1c0ff2c758
ACL driver/storage layer support
2015-04-22 19:31:45 -07:00
Harshavardhana
c8713fd650
Bring in full fledged acl support
2015-04-22 18:26:35 -07:00
Harshavardhana
2c1455af1b
Implement x-amz-acl tests
2015-04-22 18:26:35 -07:00
Harshavardhana
107e077ec0
Implement x-amz-acl handling
2015-04-22 18:26:35 -07:00
Harshavardhana
b121c8588f
Remove bucketpolicy handlers and all its references
2015-04-22 14:46:51 -07:00
Harshavardhana
3f33643d39
File driver to take the high road
2015-04-16 02:16:39 -07:00
Frederick F. Kautz IV
59a81a73c6
Adding lru to memory driver, not wired to command line opts
2015-04-15 12:49:41 -07:00
Harshavardhana
38155e86ac
iodine is part of minio now
2015-04-08 18:05:48 -07:00
Frederick F. Kautz IV
6241c9880b
Moving object storage drivers back to minio
2015-04-08 16:28:14 -07:00
Harshavardhana
2a21b7d639
Implement headBucketHandler() and its related tests
...
Remove internal testify/mock and use upstream - update all godeps
2015-04-07 01:16:32 -07:00
Frederick F. Kautz IV
ea961ef16d
Updating to use objectdriver
2015-04-06 18:00:18 -07:00
Harshavardhana
d324c4b061
Return proper return for all drivers when BucketNotFound
2015-04-05 15:55:10 -07:00
Frederick F. Kautz IV
2f44438843
Reformatting imports
2015-04-04 13:59:59 -07:00
Frederick F. Kautz IV
be4bc44b4d
Replacing gopkg.in/check.v1 with minio-io/check
2015-04-04 13:37:30 -07:00
Frederick F. Kautz IV
e6abca1a63
Adding iodine to object HEAD verb
2015-04-04 12:46:34 -07:00
Frederick F. Kautz IV
46badca07e
Removing Godeps from pkg/api
2015-04-03 20:40:21 -07:00
Frederick F. Kautz IV
4171ad8b69
Adding test for invalid range in api
2015-04-03 20:35:39 -07:00
Harshavardhana
4079dd1d12
Commit testify,objx, gorilla/mux, minio-io/erasure gopkg.in/check.v1
2015-04-03 18:57:47 -07:00
Harshavardhana
4b25d4e8db
Use verifyError instead of parsResponse, also get rid of mxj dependency
2015-04-03 18:56:47 -07:00
Frederick F. Kautz IV
9954e5c280
Better error handling + tests for get object
2015-04-03 18:53:27 -07:00
Frederick F. Kautz IV
db1e6e5988
Adding tests for put bucket errors, fixed mismatching error
2015-04-03 18:37:39 -07:00
Frederick F. Kautz IV
ebf1e784b3
Adding iodine and tests for for list buckets errors
2015-04-03 18:29:31 -07:00
Frederick F. Kautz IV
5865295f5d
Adding better error support to api
2015-04-03 18:06:30 -07:00
Frederick F. Kautz IV
8757ccf9a3
Fixing race condition in api_test.go
2015-04-01 20:30:57 -07:00
Harshavardhana
85e547d854
Parse response headers in tests
2015-04-01 20:07:51 -07:00
Frederick F. Kautz IV
0c5ed6f3ba
Add partial object support to donut driver
2015-04-01 15:48:12 -07:00
Frederick F. Kautz IV
563a914046
Fix whitespace
2015-04-01 12:30:58 -07:00
Frederick F. Kautz IV
83f0f0971f
Adding comments on why we subtract a second from date1 in an api test
2015-04-01 12:29:08 -07:00
Frederick F. Kautz IV
1f699a094b
Minor modification for creating temp dir in api test
2015-04-01 12:07:33 -07:00
Frederick F. Kautz IV
5b1350b4bf
api test now states which driver is currently running
2015-04-01 12:06:22 -07:00
Harshavardhana
a56098b8c9
Make sure in API we handle all error type exclusively, and return certain values exclusively
2015-03-31 20:26:16 -07:00
Frederick F. Kautz IV
6136960cfd
Moving api_test to fixtures for drivers
2015-03-31 19:53:25 -07:00
Frederick F. Kautz IV
959d90fcf7
Adding test for partial objects
2015-03-31 19:07:45 -07:00
Frederick F. Kautz IV
62c4c997c2
Simplifying error handling in api bucket handlers
2015-03-30 14:27:32 -07:00
Frederick F. Kautz IV
318d9d5aa8
API Bucket Handlers errors simplified
2015-03-30 11:40:28 -07:00
Frederick F. Kautz IV
7d657eb55c
Simplifying error response writing for object handlers
2015-03-29 22:03:13 -07:00
Frederick F. Kautz IV
c3cda5d9a8
Adding comments to errors
2015-03-29 22:03:13 -07:00
Frederick F. Kautz IV
ded090a8b0
Normalizing imports in api
2015-03-29 21:41:38 -07:00
Frederick F. Kautz IV
8cbc1c2346
More api cleanup
2015-03-29 21:38:23 -07:00
Frederick F. Kautz IV
452f0f8335
Cleaning up more api code
2015-03-29 21:06:51 -07:00
Frederick F. Kautz IV
d644233054
Rename writeObjectHeaders to setObjectHeaders, fix writing multiple headers bug
2015-03-29 18:49:32 -07:00
Frederick F. Kautz IV
86b32c2147
Minor change from trace to error log
2015-03-28 18:47:36 -07:00
Frederick F. Kautz IV
d5db891094
Simplfying code in api, round 1. Decoupling functions which both write headers and data.
2015-03-28 18:01:00 -07:00
Frederick F. Kautz IV
b165efdfcb
Refactoring pkg/utils/log, copying from golang's log and modifying
2015-03-28 15:58:48 -07:00
Frederick F. Kautz IV
96e26335e2
Adding tests and a fix for get object where bucket is not found
2015-03-27 23:23:22 -07:00
Harshavardhana
58082cd8dc
Add gocyclo into source build, choosing cyclomatic complexity tolerance of 15 and below
2015-03-25 15:57:17 -07:00
Harshavardhana
0474439b43
Code restructuring, assigning proper subsystems to each
...
- Drivers contain
* donut/*
* file/*
* memory/*
- Storage format contains
* donut/*
- GetObject() --> renamed to GetObjectReader()
- Deleted stale objectwriter.go, renamed donutwriter.go to object_writer.go
Simplifying, and documenting codebase further
2015-03-24 06:47:10 -07:00
Harshavardhana
914962bd93
Implement log package as drop-in replacement for handling Debug log-level
2015-03-23 18:18:11 -07:00
Harshavardhana
2b0b5f014a
Update license header Mini should be Minimalist really
2015-03-19 14:35:50 -07:00
Harshavardhana
6eb5315249
Resource list updates
2015-03-19 00:47:34 -07:00
Harshavardhana
a1baed3bbc
Refactor to move config handling into api/
2015-03-18 22:49:02 -07:00
Harshavardhana
7ce3ab3193
Restructure minio api, move signature checks from utils to Api.
2015-03-18 18:16:19 -07:00
Harshavardhana
74b3d092f2
Now MinioAPI handles Content-MD5 set during putObject()
...
- This change also facilitates proper error response
in case of md5 mismatch or corruption
- TODO a test function needs to be implemented
2015-03-17 13:32:13 -07:00
Frederick F. Kautz IV
1a88b36c55
Switching from base64 to hex for etag
2015-03-16 18:38:42 -07:00
Frederick F. Kautz IV
211b084e50
Performing etag off of bytes rather than md5 string
2015-03-16 18:15:37 -07:00
Frederick F. Kautz IV
583c32c774
Metadata now stores hex md5, not base64. Minio API now converts md5 hex to base64.
2015-03-16 18:03:22 -07:00
Harshavardhana
15f68972a5
Some necessary cleanup
...
- Rename 'fs' as 'file' for brevity
- Rename 'inmemory' as 'memory' for brevity
- Change everywhere else
2015-03-16 11:46:16 -07:00
Harshavardhana
596eeb097e
Move from fmt.Errorf to errors.New
...
In many cases fmt.Errorf is good enough, but since
error is an interface, you can use arbitrary data
structures as error values, to allow callers to
inspect the details of the error.
2015-03-15 19:41:16 -07:00
Harshavardhana
67888cbaa9
Restructure and use human readable names
2015-03-12 00:36:33 -07:00
Harshavardhana
e21020b337
Merge pull request #280 from harshavardhana/pr_out_http_range_support_wip
...
Get object range request added
2015-03-12 00:11:38 -07:00
Harshavardhana
a42a48a455
Get object range request added
2015-03-12 00:07:27 -07:00
Frederick F. Kautz IV
24d5018037
Rename StoreBucket to CreateBucket
2015-03-11 20:14:40 -07:00
Harshavardhana
a24bfb007d
Rename dateFormat with understandable name `iso8601Format
`
2015-03-10 01:51:34 -07:00
Harshavardhana
01e98eb326
Make BucketPolicy strictly typed
2015-03-08 15:57:20 -07:00
Harshavardhana
ba85ed7566
Revert "RFC1123 is wrong protocol format for AWS"
...
This reverts commit c7b1f8ded8
.
2015-03-08 03:06:23 -07:00
Harshavardhana
c7b1f8ded8
RFC1123 is wrong protocol format for AWS
2015-03-08 01:55:25 -08:00
Harshavardhana
f8e2b75e23
Get object metadata needs to filter based of Prefix when delimiter is specified
2015-03-07 19:13:15 -08:00
Harshavardhana
e5af8a3f5d
Further fixes -
...
- All test files have been renamed to their respective <package>_test name,
this is done in accordance with
- https://github.com/golang/go/wiki/CodeReviewComments#import-dot
imports are largely used in testing, but to avoid namespace collision
and circular dependencies
- Never use _* in package names other than "_test" change fragment_v1 to expose
fragment just like 'gopkg.in/check.v1'
2015-03-06 02:04:21 -08:00
Harshavardhana
540723d7ae
Golint cleanup pkg/api
2015-03-05 21:09:19 -08:00
Harshavardhana
66e31445ff
Golint cleanup pkg/utils/crypto/keys
2015-03-05 21:09:19 -08:00
Harshavardhana
b33e2d2f9b
Golint cleanup pkg/utils/config
2015-03-05 21:09:19 -08:00
Frederick F. Kautz IV
6ec7894312
Removing innerxml
2015-03-04 14:24:56 -08:00
Frederick F. Kautz IV
6f7840677a
Fixing xml tags
2015-03-04 11:02:37 -08:00
Frederick F. Kautz IV
34c1e58332
Renaming Package to goPackage to fix golint error
2015-03-03 12:56:19 -08:00
Harshavardhana
3a3c8645fc
Update comments across the codebase
2015-03-03 02:39:38 -08:00
Harshavardhana
c3ad0906e0
Add deadcode code which recursivley goes into all directories and verifies dangling variables.
2015-03-02 18:44:20 -08:00
Harshavardhana
0c2d58bc6d
Implement proper delimiter and prefix handling
...
With this change Minio server now responds with, delimited
'object names' in conjunction with prefix filtering
~~~
<ListBucketResult>
<Name>example-bucket</Name>
<Prefix></Prefix>
<Marker></Marker>
<MaxKeys>1000</MaxKeys>
<Delimiter>/</Delimiter>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>sample.html</Key>
<LastModified>2011-02-26T01:56:20.000Z</LastModified>
<ETag>example-bucket#sample.html</ETag>
<Size>142863</Size>
<Owner>
<ID>minio</ID>
<DisplayName>minio</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
</Contents>
<CommonPrefixes>
<Prefix>photos/</Prefix>
</CommonPrefixes>
</ListBucketResult>
~~~
~~~
<ListBucketResult>
<Name>example-bucket</Name>
<Prefix>photos/2006/</Prefix>
<Marker></Marker>
<MaxKeys>1000</MaxKeys>
<Delimiter>/</Delimiter>
<IsTruncated>false</IsTruncated>
<CommonPrefixes>
<Prefix>photos/2006/feb/</Prefix>
</CommonPrefixes>
<CommonPrefixes>
<Prefix>photos/2006/jan/</Prefix>
</CommonPrefixes>
</ListBucketResult>
~~~
2015-02-28 14:47:19 -08:00
Harshavardhana
9acb1f728c
Sort list of objects
2015-02-27 17:52:55 -08:00
Harshavardhana
53669a0854
Implement delimiter, path prefix
2015-02-27 16:23:05 -08:00
Harshavardhana
b7868d23ac
Update minioapi documentation
2015-02-23 16:46:48 -08:00
Harshavardhana
51e80eaa6d
Add domain and subdomain support for MinioAPI
...
This change brings in domain and subdomain support
- ./minio --domain "yourminiodomain.com"
This change brings in a much needed feature by keeping
bucketnames as part of your 'DNS' name.
All your existing applications can be migrated off from s3 to
Minio without little to no modifications.
NOTE: Setting up DNS for your `buckets` is out of scope of this feature
2015-02-23 02:25:01 -08:00