本文整理匯總了Golang中http.Values.Set方法的典型用法代碼示例。如果您正苦於以下問題:Golang Values.Set方法的具體用法?Golang Values.Set怎麽用?Golang Values.Set使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類http.Values
的用法示例。
在下文中一共展示了Values.Set方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: DescribeInstances
func (self *Service) DescribeInstances(id *aws.Signer, filter http.Values, ic chan Instance) (err os.Error) {
if filter == nil {
filter = http.Values{}
}
filter.Set("Action", "DescribeInstances")
req := aws.NewRequest(self.URL, "GET", nil, filter)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 15)
if err != nil {
return
}
resp, err := self.conn.Request(req)
if err == nil {
defer resp.Body.Close()
xresp := describeInstancesResponse{}
err := xml.Unmarshal(resp.Body, &xresp)
if err == nil {
log.Printf("XRESP == %+v", xresp)
} else {
log.Printf("XERR == %+v", err)
}
ob, _ := http.DumpResponse(resp, true)
os.Stdout.Write(ob)
}
return
}
示例2: ListQueues
func (self *Service) ListQueues(id *aws.Signer, prefix string) (mq []string, err os.Error) {
var resp *http.Response
parms := http.Values{}
parms.Set("Action", "ListQueues")
if prefix != "" {
parms.Set("QueueNamePrefix", prefix)
}
req := aws.NewRequest(self.URL, "GET", nil, parms)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 15)
resp, err = self.conn.Request(req)
if err == nil {
defer resp.Body.Close()
xresp := listQueuesResponse{}
if resp.StatusCode == http.StatusOK {
err = xml.Unmarshal(resp.Body, &xresp)
} else {
err = os.NewError("Unexpected response code")
}
if err == nil {
mq = xresp.QueueURL
}
}
return
}
示例3: DeleteLoadBalancer
// Users note: amazon will only return an error if the request is bad,
// thus an error will not be raised when deleting a non-existent LB.
func (self *Service) DeleteLoadBalancer(id *aws.Signer, name string) (err os.Error) {
parms := http.Values{}
parms.Set("Action", "DeleteLoadBalancer")
parms.Set("LoadBalancerName", name)
req := aws.NewRequest(self.URL, "GET", nil, parms)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 0)
if err != nil {
return
}
resp, err := self.conn.Request(req)
if err != nil {
return
}
defer resp.Body.Close()
if resp.StatusCode != 200 {
err = aws.CodeToError(resp.StatusCode)
}
qr := LoadBalancerQueryResult{}
err = xml.Unmarshal(resp.Body, &qr)
if err == nil {
if qr.ErrorCode != "" {
err = os.NewError(qr.ErrorCode)
}
}
return
}
示例4: Peek
// Note: 0 is a valid timeout!!
func (self *Queue) Peek(id *aws.Signer, vt int) (body []byte, msgid string, err os.Error) {
var resp *http.Response
parms := http.Values{}
parms.Set("Action", "ReceiveMessage")
if vt >= 0 {
parms.Set("VisibilityTimeout", strconv.Itoa(vt))
}
req := aws.NewRequest(self.URL, "GET", nil, parms)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 15)
if err == nil {
resp, err = self.conn.Request(req)
if err == nil {
defer resp.Body.Close()
}
if err == nil && resp.StatusCode != http.StatusOK {
err = os.NewError("Unexpected response")
}
if err == nil {
msg := message{}
err = xml.Unmarshal(resp.Body, &msg)
if err == nil {
body, msgid = msg.Body, msg.ReceiptHandle
}
}
}
return
}
示例5: getBucketRequest
func getBucketRequest(c Client, name string, getprops, getkeys bool) (req *http.Request) {
hdrs := http.Header{"Content-Type": []string{"application/json"}}
qry := http.Values{}
if !getprops {
qry.Set("props", "false")
}
if getkeys {
qry.Set("keys", "true")
}
req = c.request("GET", c.bucketPath(name), hdrs, qry)
return
}
示例6: Delete
// Note: 0 is a valid timeout!!
func (self *Queue) Delete(id *aws.Signer, mid string) (err os.Error) {
var resp *http.Response
parms := http.Values{}
parms.Set("Action", "DeleteMessage")
parms.Set("ReceiptHandle", mid)
req := aws.NewRequest(self.URL, "GET", nil, parms)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 15)
if err == nil {
resp, err = self.conn.Request(req)
if err == nil {
defer resp.Body.Close()
}
if resp.StatusCode != http.StatusOK {
err = os.NewError("Unexpected response")
}
}
return
}
示例7: Push
func (self *Queue) Push(id *aws.Signer, body []byte) (err os.Error) {
var resp *http.Response
parms := http.Values{}
parms.Set("Action", "SendMessage")
parms.Set("MessageBody", string(body))
req := aws.NewRequest(self.URL, "GET", nil, parms)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 15)
if err == nil {
resp, err = self.conn.Request(req)
if err == nil {
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
err = os.NewError("Unexpected response")
}
}
}
return
}
示例8: ListKeys
// Walks a bucket and writes the resulting strings to the channel.
// * There is currently NO (correct) way to abort a running walk.
func (self *Bucket) ListKeys(id *aws.Signer,
prefix, delim, marker string, out chan<- string) (err os.Error) {
var done bool
var resp *http.Response
var last string
form := http.Values{"prefix": []string{prefix},
"delimeter": []string{delim},
"marker": []string{marker}}
for err == nil && !done {
result := listBucketResult{}
result.Prefix = prefix
result.Marker = marker
if last != "" {
form.Set("marker", last)
}
hreq := aws.NewRequest(self.key_url("/"), "GET", nil, form)
err = id.SignRequestV1(hreq, aws.CanonicalizeS3, 15)
if err == nil {
resp, err = self.conn.Request(hreq)
}
if err == nil {
err = aws.CodeToError(resp.StatusCode)
if err == nil {
err = xml.Unmarshal(resp.Body, &result)
if err == nil {
for i := range result.Contents {
out <- result.Contents[i].Key
}
if len(result.Contents) > 0 {
last = result.Contents[len(result.Contents)-1].Key
}
done = !result.IsTruncated
}
}
resp.Body.Close()
}
}
close(out)
return
}
示例9: DescribeLoadBalancers
func (self *Service) DescribeLoadBalancers(id *aws.Signer) (lbs []LoadBalancerDescription, err os.Error) {
parms := http.Values{}
parms.Set("Action", "DescribeLoadBalancers")
req := aws.NewRequest(self.URL, "GET", nil, parms)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 0)
if err != nil {
return
}
resp, err := self.conn.Request(req)
if err == nil {
qr := LoadBalancerQueryResult{}
defer resp.Body.Close()
err = xml.Unmarshal(resp.Body, &qr)
if err == nil {
lbs = qr.LoadBalancerDescription
}
}
return
}
示例10: CreateQueue
// Create a queue, returning the Queue object.
func (self *Service) CreateQueue(id *aws.Signer, name string, dvtimeout int) (mq *Queue, err os.Error) {
var resp *http.Response
parms := http.Values{}
parms.Set("Action", "CreateQueue")
parms.Set("QueueName", name)
parms.Set("DefaultVisibilityTimeout", strconv.Itoa(dvtimeout))
req := aws.NewRequest(self.URL, "GET", nil, parms)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 15)
if err == nil {
resp, err = self.conn.Request(req)
if err == nil {
defer resp.Body.Close()
if resp.StatusCode == http.StatusOK {
xmlresp := createQueueResponse{}
err = xml.Unmarshal(resp.Body, &xmlresp)
if err == nil {
var qrl *http.URL
qrl, err = http.ParseURL(xmlresp.QueueURL)
if err == nil {
mq = NewQueue(qrl)
}
}
} else {
err = os.NewError("Unexpected response")
}
}
}
return
}
示例11: Select
func (self *Domain) Select(id *aws.Signer, what, where string, consist bool, items chan<- Item) (err os.Error) {
var resp *http.Response
vl := http.Values{}
vl.Set("Action", "Select")
if where != "" {
where = " where " + where
}
vl.Set("SelectExpression", fmt.Sprintf("select %s from %s%s", what, self.Name, where))
if consist {
vl.Set("ConsistentRead", "true")
}
done := false
nextToken := ""
for err == nil && !done {
vl.Del("NextToken")
if nextToken != "" {
vl.Set("NextToken", nextToken)
}
req := aws.NewRequest(self.URL, "GET", nil, vl)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_API_VERSION, 0)
if err == nil {
resp, err = self.conn.Request(req)
}
if err == nil {
ob, _ := http.DumpResponse(resp, true)
os.Stdout.Write(ob)
xresp := selectresponse{}
err = xml.Unmarshal(resp.Body, &xresp)
if err == nil {
fmt.Printf("XML == %+v", xresp)
for i := range xresp.Items {
items <- xresp.Items[i]
}
nextToken = xresp.NextToken
done = (nextToken == "")
}
resp.Body.Close()
}
}
return
}
示例12: CreateLoadBalancer
func (self *Service) CreateLoadBalancer(id *aws.Signer, name string, zones []string, listeners []Listener) (err os.Error) {
parms := http.Values{}
parms.Set("Action", "CreateLoadBalancer")
parms.Set("LoadBalancerName", name)
for zi := range zones {
parms.Set(Sprintf("AvailabilityZones.members.%d", zi+1), zones[zi])
}
for li := range listeners {
listeners[li].SetValues(parms, li+1)
}
req := aws.NewRequest(self.URL, "GET", nil, parms)
err = id.SignRequestV2(req, aws.Canonicalize, DEFAULT_VERSION, 0)
if err != nil {
return
}
resp, err := self.conn.Request(req)
if err == nil {
defer resp.Body.Close()
ob, _ := http.DumpResponse(resp, true)
os.Stdout.Write(ob)
}
return
}
示例13: SetValues
func (self Listener) SetValues(v http.Values, i int) {
v.Set(Sprintf("Listeners.members.%d.LoadBalancerPort", i), strconv.Itoa(self.LoadBalancerPort))
v.Set(Sprintf("Listeners.members.%d.InstancePort", i), strconv.Itoa(self.InstancePort))
v.Set(Sprintf("Listeners.members.%d.Protocol", i), self.Protocol)
}