// Code generated by cue get go. DO NOT EDIT.

// Package http provides tasks related to the HTTP protocol.
//
// These are the supported tasks:
//
//     Get:    Do & {method: "GET"}
//     Post:   Do & {method: "POST"}
//     Put:    Do & {method: "PUT"}
//     Delete: Do & {method: "DELETE"}
//
//     Do: {
//     	kind: "tool/http.Do"
//
//     	method: string
//     	url:    string // TODO: make url.URL type
//
//     	request: {
//     		body: *bytes | string
//     		header <Name>:  string | [...string]
//     		trailer <Name>: string | [...string]
//     	}
//     	response: {
//     		status:     string
//     		statusCode: int
//
//     		body: *bytes | string
//     		header <Name>:  string | [...string]
//     		trailer <Name>: string | [...string]
//     	}
//     }
//
package http
