fog/fog — pull request #1537 by kookster (2013-01-31 20:29:29+00:00)
Title: Added Internet Archive S3 like server API support

The Internet Archive (IA) supports an S3 like server API.

http://archive.org/help/abouts3.txt

There are examples of using this with other languages, such as accessing IA with boto for python, but no great ruby support, so I wanted to add it to fog so I could use IA with carrier wave and other places I now use fog for s3 access.

IA uses a different url (us.archive.org instead of amazonaws.com), and has enough other differences (and limitations) that I think it warranted being its own provider and storage service rather than patch the AWS provider to allow overriding the base url (which is hard coded throughout the AWS provider code).

This pull request is based almost entirely on copying just the (s3) storage service from AWS, changing the naming for code and tests, and including some better defaults such as using schema = 'http', and port = 80, and stripping out AWS specific code related to IAM.

Let me know what you think of this approach.

My plan from here is to enhance this working code with more IA specific functionality. I want to remove some things it does not support, and it has many of its own options and additional meta data on buckets and files. That said, this is functional and usable now, tests pass, and so I feel comfortable submitting at least this much in a pull request, and for others to use.

Thanks for your consideration.
- Andrew