本文整理匯總了Golang中github.com/tedsuo/rata.RequestGenerator類的典型用法代碼示例。如果您正苦於以下問題:Golang RequestGenerator類的具體用法?Golang RequestGenerator怎麽用?Golang RequestGenerator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了RequestGenerator類的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: constructRequest
func constructRequest(reqGenerator *rata.RequestGenerator, spec atc.HijackProcessSpec, id string, token *rc.TargetToken) *http.Request {
payload, err := json.Marshal(spec)
if err != nil {
log.Fatalln("failed to marshal process spec:", err)
}
hijackReq, err := reqGenerator.CreateRequest(
atc.HijackContainer,
rata.Params{"id": id},
bytes.NewBuffer(payload),
)
if err != nil {
log.Fatalln("failed to create hijack request:", err)
}
if token != nil {
hijackReq.Header.Add("Authorization", token.Type+" "+token.Value)
}
return hijackReq
}
示例2: constructRequest
func constructRequest(reqGenerator *rata.RequestGenerator, spec atc.HijackProcessSpec, reqValues url.Values) *http.Request {
payload, err := json.Marshal(spec)
if err != nil {
log.Fatalln("failed to marshal process spec:", err)
}
hijackReq, err := reqGenerator.CreateRequest(
atc.Hijack,
rata.Params{},
bytes.NewBuffer(payload),
)
if err != nil {
log.Fatalln("failed to create hijack request:", err)
}
if hijackReq.URL.User != nil {
hijackReq.Header.Add("Authorization", basicAuth(hijackReq.URL.User))
hijackReq.URL.User = nil
}
hijackReq.URL.RawQuery = reqValues.Encode()
return hijackReq
}
示例3:
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gbytes"
"github.com/tedsuo/rata"
"gopkg.in/yaml.v2"
)
type RemoraConfig struct {
atc.Config
Extra string `json:"extra"`
}
var _ = Describe("Config API", func() {
var (
config atc.Config
requestGenerator *rata.RequestGenerator
)
BeforeEach(func() {
requestGenerator = rata.NewRequestGenerator(server.URL, atc.Routes)
config = atc.Config{
Groups: atc.GroupConfigs{
{
Name: "some-group",
Jobs: []string{"job-1", "job-2"},
Resources: []string{"resource-1", "resource-2"},
},
},
Resources: atc.ResourceConfigs{
示例4:
"io/ioutil"
"net/http"
"github.com/cloudfoundry/hm9000/apiserver"
"github.com/cloudfoundry/hm9000/testhelpers/appfixture"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/tedsuo/rata"
)
var _ = Describe("Serving API", func() {
var (
a appfixture.AppFixture
validRequest string
requestGenerator *rata.RequestGenerator
httpClient *http.Client
apiServerAddr string
username string
password string
)
Describe("POST /bulk_app_state", func() {
var b appfixture.AppFixture
BeforeEach(func() {
apiServerAddr = fmt.Sprintf("http://%s:%d", cliRunner.config.APIServerAddress, cliRunner.config.APIServerPort)
requestGenerator = rata.NewRequestGenerator(apiServerAddr, apiserver.Routes)
httpClient = &http.Client{
Transport: &http.Transport{},
}
示例5:
. "github.com/onsi/gomega"
"github.com/tedsuo/ifrit"
"github.com/tedsuo/ifrit/ginkgomon"
"github.com/tedsuo/ifrit/http_server"
"github.com/tedsuo/ifrit/sigmon"
"github.com/tedsuo/rata"
"github.com/cloudfoundry-incubator/bbs/models"
"github.com/cloudfoundry-incubator/runtime-schema/cc_messages"
"github.com/cloudfoundry-incubator/tps"
)
var _ = Describe("TPS-Listener", func() {
var (
httpClient *http.Client
requestGenerator *rata.RequestGenerator
desiredLRP, desiredLRP2 *models.DesiredLRP
)
BeforeEach(func() {
requestGenerator = rata.NewRequestGenerator(fmt.Sprintf("http://%s", listenerAddr), tps.Routes)
httpClient = &http.Client{
Transport: &http.Transport{},
}
})
JustBeforeEach(func() {
listener = ginkgomon.Invoke(runner)
desiredLRP = &models.DesiredLRP{
Domain: "some-domain",
示例6: getBuild
func getBuild(client *http.Client, reqGenerator *rata.RequestGenerator, jobName string, buildName string, pipelineName string) atc.Build {
if pipelineName != "" && jobName == "" {
fmt.Fprintln(os.Stderr, "job must be specified if pipeline is specified")
os.Exit(1)
}
if pipelineName == "" {
pipelineName = atc.DefaultPipelineName
}
if buildName != "" {
var buildReq *http.Request
var err error
if jobName != "" {
buildReq, err = reqGenerator.CreateRequest(
atc.GetJobBuild,
rata.Params{
"job_name": jobName,
"build_name": buildName,
"pipeline_name": pipelineName,
},
nil,
)
} else {
buildReq, err = reqGenerator.CreateRequest(
atc.GetBuild,
rata.Params{"build_id": buildName},
nil,
)
}
if err != nil {
log.Fatalln("failed to create request", err)
}
buildResp, err := client.Do(buildReq)
if err != nil {
log.Fatalln("failed to get builds:", err)
}
if buildResp.StatusCode != http.StatusOK {
log.Println("bad response when getting build:")
buildResp.Body.Close()
buildResp.Write(os.Stderr)
os.Exit(1)
}
var build atc.Build
err = json.NewDecoder(buildResp.Body).Decode(&build)
if err != nil {
log.Fatalln("failed to decode job:", err)
}
return build
} else if jobName != "" {
jobReq, err := reqGenerator.CreateRequest(
atc.GetJob,
rata.Params{"job_name": jobName, "pipeline_name": pipelineName},
nil,
)
if err != nil {
log.Fatalln("failed to create request", err)
}
jobResp, err := client.Do(jobReq)
if err != nil {
log.Fatalln("failed to get builds:", err)
}
if jobResp.StatusCode != http.StatusOK {
log.Println("bad response when getting job:")
jobResp.Body.Close()
jobResp.Write(os.Stderr)
os.Exit(1)
}
var job atc.Job
err = json.NewDecoder(jobResp.Body).Decode(&job)
if err != nil {
log.Fatalln("failed to decode job:", err)
}
if job.NextBuild != nil {
return *job.NextBuild
} else if job.FinishedBuild != nil {
return *job.FinishedBuild
} else {
println("job has no builds")
os.Exit(1)
}
} else {
buildsReq, err := reqGenerator.CreateRequest(
atc.ListBuilds,
nil,
nil,
)
if err != nil {
log.Fatalln("failed to create request", err)
}
//.........這裏部分代碼省略.........
示例7:
"github.com/cloudfoundry-incubator/stager/cmd/stager/testrunner"
"github.com/gogo/protobuf/proto"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gbytes"
"github.com/onsi/gomega/gexec"
"github.com/onsi/gomega/ghttp"
"github.com/tedsuo/rata"
)
var _ = Describe("Stager", func() {
var (
fakeBBS *ghttp.Server
fakeCC *ghttp.Server
requestGenerator *rata.RequestGenerator
httpClient *http.Client
callbackURL string
)
BeforeEach(func() {
stagerPort := 8888 + GinkgoParallelNode()
stagerURL := fmt.Sprintf("http://127.0.0.1:%d", stagerPort)
callbackURL = stagerURL + "/v1/staging/my-task-guid/completed"
fakeBBS = ghttp.NewServer()
fakeCC = ghttp.NewServer()
runner = testrunner.New(testrunner.Config{
StagerBin: stagerPath,
示例8:
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gbytes"
"github.com/onsi/gomega/gexec"
"github.com/tedsuo/ifrit"
"github.com/tedsuo/ifrit/ginkgomon"
"github.com/tedsuo/rata"
)
var _ = Describe("Nsync Listener", func() {
const exitDuration = 3 * time.Second
var (
nsyncPort int
requestGenerator *rata.RequestGenerator
httpClient *http.Client
response *http.Response
err error
process ifrit.Process
)
requestDesireWithInstances := func(nInstances int) (*http.Response, error) {
req, err := requestGenerator.CreateRequest(nsync.DesireAppRoute, rata.Params{"process_guid": "the-guid"}, strings.NewReader(`{
"process_guid": "the-guid",
"droplet_uri": "http://the-droplet.uri.com",
"start_command": "the-start-command",
"execution_metadata": "execution-metadata-1",
"memory_mb": 128,
"disk_mb": 512,
"file_descriptors": 32,
"num_instances": `+strconv.Itoa(nInstances)+`,