summaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/goamz
diff options
context:
space:
mode:
author=Corey Hulen <corey@hulen.com>2015-11-23 15:53:48 -0800
committer=Corey Hulen <corey@hulen.com>2015-11-23 15:53:48 -0800
commit4f4cd5e63573da4d6edcc7d4213afaca67c19f88 (patch)
treecefbc7af53629d97644ca2f6b2369e9d879f0101 /Godeps/_workspace/src/github.com/goamz
parentf8a3c9a14edca6df0647d89cf225f2470cbe025c (diff)
downloadchat-4f4cd5e63573da4d6edcc7d4213afaca67c19f88.tar.gz
chat-4f4cd5e63573da4d6edcc7d4213afaca67c19f88.tar.bz2
chat-4f4cd5e63573da4d6edcc7d4213afaca67c19f88.zip
upgrading libs
Diffstat (limited to 'Godeps/_workspace/src/github.com/goamz')
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/aws/attempt_test.go2
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/aws/aws.go41
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/aws/aws_test.go2
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/aws/client_test.go2
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/aws/regions.go11
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/aws/sign_test.go2
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/export_test.go2
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/multi.go32
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/multi_test.go6
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/s3.go8
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/s3_test.go4
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/s3i_test.go4
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/s3t_test.go6
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/s3test/server.go6
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/sign.go45
-rw-r--r--Godeps/_workspace/src/github.com/goamz/goamz/s3/sign_test.go4
16 files changed, 128 insertions, 49 deletions
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/aws/attempt_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/aws/attempt_test.go
index 8ba497715..2f60dca6d 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/aws/attempt_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/aws/attempt_test.go
@@ -3,7 +3,7 @@ package aws_test
import (
"time"
- "github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
. "gopkg.in/check.v1"
)
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/aws/aws.go b/Godeps/_workspace/src/github.com/goamz/goamz/aws/aws.go
index cec40be7d..9680072ba 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/aws/aws.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/aws/aws.go
@@ -20,7 +20,7 @@ import (
"os"
"time"
- "github.com/vaughan0/go-ini"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/vaughan0/go-ini"
)
// Defines the valid signers
@@ -41,25 +41,26 @@ type ServiceInfo struct {
//
// See http://goo.gl/d8BP1 for more details.
type Region struct {
- Name string // the canonical name of this region.
- EC2Endpoint string
- S3Endpoint string
- S3BucketEndpoint string // Not needed by AWS S3. Use ${bucket} for bucket name.
- S3LocationConstraint bool // true if this region requires a LocationConstraint declaration.
- S3LowercaseBucket bool // true if the region requires bucket names to be lower case.
- SDBEndpoint string
- SESEndpoint string
- SNSEndpoint string
- SQSEndpoint string
- IAMEndpoint string
- ELBEndpoint string
- DynamoDBEndpoint string
- CloudWatchServicepoint ServiceInfo
- AutoScalingEndpoint string
- RDSEndpoint ServiceInfo
- STSEndpoint string
- CloudFormationEndpoint string
- ECSEndpoint string
+ Name string // the canonical name of this region.
+ EC2Endpoint string
+ S3Endpoint string
+ S3BucketEndpoint string // Not needed by AWS S3. Use ${bucket} for bucket name.
+ S3LocationConstraint bool // true if this region requires a LocationConstraint declaration.
+ S3LowercaseBucket bool // true if the region requires bucket names to be lower case.
+ SDBEndpoint string
+ SESEndpoint string
+ SNSEndpoint string
+ SQSEndpoint string
+ IAMEndpoint string
+ ELBEndpoint string
+ DynamoDBEndpoint string
+ CloudWatchServicepoint ServiceInfo
+ AutoScalingEndpoint string
+ RDSEndpoint ServiceInfo
+ STSEndpoint string
+ CloudFormationEndpoint string
+ ECSEndpoint string
+ DynamoDBStreamsEndpoint string
}
var Regions = map[string]Region{
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/aws/aws_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/aws/aws_test.go
index 0c74a7905..80e93dee5 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/aws/aws_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/aws/aws_test.go
@@ -7,7 +7,7 @@ import (
"testing"
"time"
- "github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
. "gopkg.in/check.v1"
)
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/aws/client_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/aws/client_test.go
index c66a86333..2298f43dd 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/aws/client_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/aws/client_test.go
@@ -2,7 +2,7 @@ package aws_test
import (
"fmt"
- "github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
"io/ioutil"
"net/http"
"net/http/httptest"
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/aws/regions.go b/Godeps/_workspace/src/github.com/goamz/goamz/aws/regions.go
index 508231e7d..5e18f023d 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/aws/regions.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/aws/regions.go
@@ -20,6 +20,7 @@ var USGovWest = Region{
"https://sts.amazonaws.com",
"https://cloudformation.us-gov-west-1.amazonaws.com",
"https://ecs.us-gov-west-1.amazonaws.com",
+ "https://streams.dynamodb.us-gov-west-1.amazonaws.com",
}
var USEast = Region{
@@ -42,6 +43,7 @@ var USEast = Region{
"https://sts.amazonaws.com",
"https://cloudformation.us-east-1.amazonaws.com",
"https://ecs.us-east-1.amazonaws.com",
+ "https://streams.dynamodb.us-east-1.amazonaws.com",
}
var USWest = Region{
@@ -64,6 +66,7 @@ var USWest = Region{
"https://sts.amazonaws.com",
"https://cloudformation.us-west-1.amazonaws.com",
"https://ecs.us-west-1.amazonaws.com",
+ "https://streams.dynamodb.us-west-1.amazonaws.com",
}
var USWest2 = Region{
@@ -86,6 +89,7 @@ var USWest2 = Region{
"https://sts.amazonaws.com",
"https://cloudformation.us-west-2.amazonaws.com",
"https://ecs.us-west-2.amazonaws.com",
+ "https://streams.dynamodb.us-west-2.amazonaws.com",
}
var EUWest = Region{
@@ -108,6 +112,7 @@ var EUWest = Region{
"https://sts.amazonaws.com",
"https://cloudformation.eu-west-1.amazonaws.com",
"https://ecs.eu-west-1.amazonaws.com",
+ "https://streams.dynamodb.eu-west-1.amazonaws.com",
}
var EUCentral = Region{
@@ -130,6 +135,7 @@ var EUCentral = Region{
"https://sts.amazonaws.com",
"https://cloudformation.eu-central-1.amazonaws.com",
"https://ecs.eu-central-1.amazonaws.com",
+ "https://streams.dynamodb.eu-central-1.amazonaws.com",
}
var APSoutheast = Region{
@@ -152,6 +158,7 @@ var APSoutheast = Region{
"https://sts.amazonaws.com",
"https://cloudformation.ap-southeast-1.amazonaws.com",
"https://ecs.ap-southeast-1.amazonaws.com",
+ "https://streams.dynamodb.ap-southeast-1.amazonaws.com",
}
var APSoutheast2 = Region{
@@ -174,6 +181,7 @@ var APSoutheast2 = Region{
"https://sts.amazonaws.com",
"https://cloudformation.ap-southeast-2.amazonaws.com",
"https://ecs.ap-southeast-2.amazonaws.com",
+ "https://streams.dynamodb.ap-southeast-2.amazonaws.com",
}
var APNortheast = Region{
@@ -196,6 +204,7 @@ var APNortheast = Region{
"https://sts.amazonaws.com",
"https://cloudformation.ap-northeast-1.amazonaws.com",
"https://ecs.ap-northeast-1.amazonaws.com",
+ "https://streams.dynamodb.ap-northeast-1.amazonaws.com",
}
var SAEast = Region{
@@ -218,6 +227,7 @@ var SAEast = Region{
"https://sts.amazonaws.com",
"https://cloudformation.sa-east-1.amazonaws.com",
"https://ecs.sa-east-1.amazonaws.com",
+ "https://streams.dynamodb.sa-east-1.amazonaws.com",
}
var CNNorth = Region{
@@ -240,4 +250,5 @@ var CNNorth = Region{
"https://sts.cn-north-1.amazonaws.com.cn",
"https://cloudformation.cn-north-1.amazonaws.com.cn",
"https://ecs.cn-north-1.amazonaws.com.cn",
+ "https://streams.dynamodb.cn-north-1.amazonaws.com.cn",
}
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/aws/sign_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/aws/sign_test.go
index c6b685e20..aa1bbede1 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/aws/sign_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/aws/sign_test.go
@@ -6,7 +6,7 @@ import (
"strings"
"time"
- "github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
. "gopkg.in/check.v1"
)
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/export_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/export_test.go
index 4ff913cde..dc468e510 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/export_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/export_test.go
@@ -1,7 +1,7 @@
package s3
import (
- "github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
)
func Sign(auth aws.Auth, method, path string, params, headers map[string][]string) {
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/multi.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/multi.go
index 1533bda9d..348ead300 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/multi.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/multi.go
@@ -339,9 +339,23 @@ func (p completeParts) Len() int { return len(p) }
func (p completeParts) Less(i, j int) bool { return p[i].PartNumber < p[j].PartNumber }
func (p completeParts) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
+type completeResponse struct {
+ // The element name: should be either CompleteMultipartUploadResult or Error.
+ XMLName xml.Name
+ // If the element was error, then it should have the following:
+ Code string
+ Message string
+ RequestId string
+ HostId string
+}
+
// Complete assembles the given previously uploaded parts into the
// final object. This operation may take several minutes.
//
+// The complete call to AMZ may still fail after returning HTTP 200,
+// so even though it's unusued, the body of the reply must be demarshalled
+// and checked to see whether or not the complete succeeded.
+//
// See http://goo.gl/2Z7Tw for details.
func (m *Multi) Complete(parts []Part) error {
params := map[string][]string{
@@ -356,6 +370,8 @@ func (m *Multi) Complete(parts []Part) error {
if err != nil {
return err
}
+
+ // Setting Content-Length prevents breakage on DreamObjects
for attempt := m.Bucket.S3.AttemptStrategy.Start(); attempt.Next(); {
req := &request{
method: "POST",
@@ -363,11 +379,25 @@ func (m *Multi) Complete(parts []Part) error {
path: m.Key,
params: params,
payload: bytes.NewReader(data),
+ headers: map[string][]string{
+ "Content-Length": []string{strconv.Itoa(len(data))},
+ },
}
- err := m.Bucket.S3.query(req, nil)
+
+ resp := &completeResponse{}
+ err := m.Bucket.S3.query(req, resp)
if shouldRetry(err) && attempt.HasNext() {
continue
}
+ if err == nil && resp.XMLName.Local == "Error" {
+ err = &Error{
+ StatusCode: 200,
+ Code: resp.Code,
+ Message: resp.Message,
+ RequestId: resp.RequestId,
+ HostId: resp.HostId,
+ }
+ }
return err
}
panic("unreachable")
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/multi_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/multi_test.go
index efab302d6..8813276d7 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/multi_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/multi_test.go
@@ -6,7 +6,7 @@ import (
"io/ioutil"
"strings"
- "github.com/goamz/goamz/s3"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/s3"
. "gopkg.in/check.v1"
)
@@ -300,7 +300,9 @@ func (s *S) TestMultiComplete(c *C) {
c.Assert(err, IsNil)
err = multi.Complete([]s3.Part{{2, `"ETag2"`, 32}, {1, `"ETag1"`, 64}})
- c.Assert(err, IsNil)
+ // returns InternalErrorDump in the payload, which should manifest as
+ // an error.
+ c.Assert(err, NotNil)
testServer.WaitRequest()
req := testServer.WaitRequest()
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3.go
index 88ef975d1..9b135f3ce 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3.go
@@ -18,7 +18,7 @@ import (
"encoding/base64"
"encoding/xml"
"fmt"
- "github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
"io"
"io/ioutil"
"log"
@@ -1101,10 +1101,14 @@ func shouldRetry(err error) bool {
}
case *Error:
switch e.Code {
- case "InternalError", "NoSuchUpload", "NoSuchBucket":
+ case "InternalError", "NoSuchUpload", "NoSuchBucket", "RequestTimeout":
return true
}
+ // let's handle tls handshake timeout issues and similar temporary errors
+ case net.Error:
+ return e.Temporary()
}
+
return false
}
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3_test.go
index 24d4dfcc0..807344258 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3_test.go
@@ -7,9 +7,9 @@ import (
"testing"
"time"
- "github.com/goamz/goamz/aws"
- "github.com/goamz/goamz/s3"
"github.com/goamz/goamz/testutil"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/s3"
. "gopkg.in/check.v1"
)
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3i_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3i_test.go
index 1b898efc4..01344256a 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3i_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3i_test.go
@@ -11,9 +11,9 @@ import (
"strings"
"time"
- "github.com/goamz/goamz/aws"
- "github.com/goamz/goamz/s3"
"github.com/goamz/goamz/testutil"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/s3"
. "gopkg.in/check.v1"
)
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3t_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3t_test.go
index e98c50b29..e9e216f00 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3t_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3t_test.go
@@ -1,9 +1,9 @@
package s3_test
import (
- "github.com/goamz/goamz/aws"
- "github.com/goamz/goamz/s3"
- "github.com/goamz/goamz/s3/s3test"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/s3"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3test"
. "gopkg.in/check.v1"
)
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3test/server.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3test/server.go
index 10d36924f..6a1866167 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3test/server.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/s3test/server.go
@@ -7,7 +7,7 @@ import (
"encoding/hex"
"encoding/xml"
"fmt"
- "github.com/goamz/goamz/s3"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/s3"
"io"
"io/ioutil"
"log"
@@ -594,6 +594,10 @@ func (objr objectResource) put(a *action) interface{} {
obj.checksum = gotHash
obj.mtime = time.Now()
objr.bucket.objects[objr.name] = obj
+
+ h := a.w.Header()
+ h.Set("ETag", fmt.Sprintf(`"%s"`, hex.EncodeToString(obj.checksum)))
+
return nil
}
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/sign.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/sign.go
index c8e57a2f7..715f2d8d3 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/sign.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/sign.go
@@ -4,7 +4,7 @@ import (
"crypto/hmac"
"crypto/sha1"
"encoding/base64"
- "github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
"log"
"sort"
"strings"
@@ -39,10 +39,37 @@ var s3ParamsToSign = map[string]bool{
"delete": true,
}
+type keySortableTupleList []keySortableTuple
+
+type keySortableTuple struct {
+ Key string
+ TupleString string
+}
+
+func (l keySortableTupleList) StringSlice() []string {
+ slice := make([]string, len(l))
+ for i, v := range l {
+ slice[i] = v.TupleString
+ }
+ return slice
+}
+
+func (l keySortableTupleList) Len() int {
+ return len(l)
+}
+
+func (l keySortableTupleList) Less(i, j int) bool {
+ return l[i].Key < l[j].Key
+}
+
+func (l keySortableTupleList) Swap(i, j int) {
+ l[i], l[j] = l[j], l[i]
+}
+
func sign(auth aws.Auth, method, canonicalPath string, params, headers map[string][]string) {
var md5, ctype, date, xamz string
var xamzDate bool
- var sarray []string
+ var sarray keySortableTupleList
for k, v := range headers {
k = strings.ToLower(k)
switch k {
@@ -57,7 +84,7 @@ func sign(auth aws.Auth, method, canonicalPath string, params, headers map[strin
default:
if strings.HasPrefix(k, "x-amz-") {
vall := strings.Join(v, ",")
- sarray = append(sarray, k+":"+vall)
+ sarray = append(sarray, keySortableTuple{k, k + ":" + vall})
if k == "x-amz-date" {
xamzDate = true
date = ""
@@ -66,8 +93,8 @@ func sign(auth aws.Auth, method, canonicalPath string, params, headers map[strin
}
}
if len(sarray) > 0 {
- sort.StringSlice(sarray).Sort()
- xamz = strings.Join(sarray, "\n") + "\n"
+ sort.Sort(sarray)
+ xamz = strings.Join(sarray.StringSlice(), "\n") + "\n"
}
expires := false
@@ -83,17 +110,17 @@ func sign(auth aws.Auth, method, canonicalPath string, params, headers map[strin
if s3ParamsToSign[k] {
for _, vi := range v {
if vi == "" {
- sarray = append(sarray, k)
+ sarray = append(sarray, keySortableTuple{k, k})
} else {
// "When signing you do not encode these values."
- sarray = append(sarray, k+"="+vi)
+ sarray = append(sarray, keySortableTuple{k, k + "=" + vi})
}
}
}
}
if len(sarray) > 0 {
- sort.StringSlice(sarray).Sort()
- canonicalPath = canonicalPath + "?" + strings.Join(sarray, "&")
+ sort.Sort(sarray)
+ canonicalPath = canonicalPath + "?" + strings.Join(sarray.StringSlice(), "&")
}
payload := method + "\n" + md5 + "\n" + ctype + "\n" + date + "\n" + xamz + canonicalPath
diff --git a/Godeps/_workspace/src/github.com/goamz/goamz/s3/sign_test.go b/Godeps/_workspace/src/github.com/goamz/goamz/s3/sign_test.go
index 112e1ca3e..32c478ed7 100644
--- a/Godeps/_workspace/src/github.com/goamz/goamz/s3/sign_test.go
+++ b/Godeps/_workspace/src/github.com/goamz/goamz/s3/sign_test.go
@@ -1,8 +1,8 @@
package s3_test
import (
- "github.com/goamz/goamz/aws"
- "github.com/goamz/goamz/s3"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/aws"
+ "github.com/mattermost/platform/Godeps/_workspace/src/github.com/goamz/goamz/s3"
. "gopkg.in/check.v1"
)