summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/goamz/goamz/exp/sns/sns.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/goamz/goamz/exp/sns/sns.go')
-rw-r--r--vendor/github.com/goamz/goamz/exp/sns/sns.go113
1 files changed, 0 insertions, 113 deletions
diff --git a/vendor/github.com/goamz/goamz/exp/sns/sns.go b/vendor/github.com/goamz/goamz/exp/sns/sns.go
deleted file mode 100644
index 4d4622211..000000000
--- a/vendor/github.com/goamz/goamz/exp/sns/sns.go
+++ /dev/null
@@ -1,113 +0,0 @@
-//
-// goamz - Go packages to interact with the Amazon Web Services.
-//
-// https://wiki.ubuntu.com/goamz
-//
-// Copyright (c) 2011 Memeo Inc.
-//
-// Written by Prudhvi Krishna Surapaneni <me@prudhvi.net>
-
-// This package is in an experimental state, and does not currently
-// follow conventions and style of the rest of goamz or common
-// Go conventions. It must be polished before it's considered a
-// first-class package in goamz.
-package sns
-
-// BUG(niemeyer): Package needs documentation.
-
-import (
- "encoding/xml"
- "net/http"
- "net/url"
- "time"
-
- "github.com/goamz/goamz/aws"
-)
-
-// The SNS type encapsulates operation with an SNS region.
-type SNS struct {
- aws.Auth
- aws.Region
- private byte // Reserve the right of using private data.
-}
-
-type AttributeEntry struct {
- Key string `xml:"key"`
- Value string `xml:"value"`
-}
-
-type ResponseMetadata struct {
- RequestId string `xml:"ResponseMetadata>RequestId"`
- BoxUsage float64 `xml:"ResponseMetadata>BoxUsage"`
-}
-
-func New(auth aws.Auth, region aws.Region) *SNS {
- return &SNS{auth, region, 0}
-}
-
-func makeParams(action string) map[string]string {
- params := make(map[string]string)
- params["Action"] = action
- return params
-}
-
-type Error struct {
- StatusCode int
- Code string
- Message string
- RequestId string
-}
-
-func (err *Error) Error() string {
- return err.Message
-}
-
-type xmlErrors struct {
- RequestId string
- Errors []Error `xml:"Errors>Error"`
-}
-
-func (sns *SNS) query(params map[string]string, resp interface{}) error {
- params["Timestamp"] = time.Now().UTC().Format(time.RFC3339)
- u, err := url.Parse(sns.Region.SNSEndpoint)
- if err != nil {
- return err
- }
-
- sign(sns.Auth, "GET", "/", params, u.Host)
- u.RawQuery = multimap(params).Encode()
- r, err := http.Get(u.String())
- if err != nil {
- return err
- }
- defer r.Body.Close()
-
- if r.StatusCode != 200 {
- return buildError(r)
- }
- err = xml.NewDecoder(r.Body).Decode(resp)
- return err
-}
-
-func buildError(r *http.Response) error {
- errors := xmlErrors{}
- xml.NewDecoder(r.Body).Decode(&errors)
- var err Error
- if len(errors.Errors) > 0 {
- err = errors.Errors[0]
- }
- err.RequestId = errors.RequestId
- err.StatusCode = r.StatusCode
- if err.Message == "" {
- err.Message = r.Status
- }
- return &err
-}
-
-func multimap(p map[string]string) url.Values {
- q := make(url.Values, len(p))
- for k, v := range p {
- q[k] = []string{v}
- }
- return q
-}