本文整理匯總了Golang中cf.Route.URL方法的典型用法代碼示例。如果您正苦於以下問題:Golang Route.URL方法的具體用法?Golang Route.URL怎麽用?Golang Route.URL使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類cf.Route
的用法示例。
在下文中一共展示了Route.URL方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: CreateRoute
func (cmd *CreateRoute) CreateRoute(hostName string, domain cf.Domain, space cf.Space) (route cf.Route, apiResponse net.ApiResponse) {
routeToCreate := cf.Route{Host: hostName, Domain: domain}
cmd.ui.Say("Creating route %s for org %s / space %s as %s...",
terminal.EntityNameColor(routeToCreate.URL()),
terminal.EntityNameColor(cmd.config.Organization.Name),
terminal.EntityNameColor(space.Name),
terminal.EntityNameColor(cmd.config.Username()),
)
route, apiResponse = cmd.routeRepo.CreateInSpace(routeToCreate, domain, space)
if apiResponse.IsNotSuccessful() {
var findApiResponse net.ApiResponse
route, findApiResponse = cmd.routeRepo.FindByHostAndDomain(hostName, domain.Name)
if findApiResponse.IsNotSuccessful() ||
route.Space.Guid != space.Guid ||
route.Domain.Guid != domain.Guid ||
route.Host != hostName {
return
}
apiResponse = net.NewSuccessfulApiResponse()
cmd.ui.Ok()
cmd.ui.Warn("Route %s already exists", route.URL())
return
}
cmd.ui.Ok()
return
}
示例2: FindByName
func (repo CloudControllerApplicationRepository) FindByName(name string) (app cf.Application, apiErr *net.ApiError) {
path := fmt.Sprintf("%s/v2/spaces/%s/apps?q=name%s&inline-relations-depth=1", repo.config.Target, repo.config.Space.Guid, "%3A"+name)
request, apiErr := repo.gateway.NewRequest("GET", path, repo.config.AccessToken, nil)
if apiErr != nil {
return
}
findResponse := new(ApplicationsApiResponse)
apiErr = repo.gateway.PerformRequestForJSONResponse(request, findResponse)
if apiErr != nil {
return
}
if len(findResponse.Resources) == 0 {
apiErr = net.NewApiErrorWithMessage(fmt.Sprintf("Application %s not found", name))
return
}
res := findResponse.Resources[0]
path = fmt.Sprintf("%s/v2/apps/%s/summary", repo.config.Target, res.Metadata.Guid)
request, apiErr = repo.gateway.NewRequest("GET", path, repo.config.AccessToken, nil)
if apiErr != nil {
return
}
summaryResponse := new(ApplicationSummary)
apiErr = repo.gateway.PerformRequestForJSONResponse(request, summaryResponse)
if apiErr != nil {
return
}
urls := []string{}
// This is a little wonky but we made a concious effort
// to keep the domain very separate from the API repsonses
// to maintain flexibility.
domainRoute := cf.Route{}
for _, route := range summaryResponse.Routes {
domainRoute.Domain = cf.Domain{Name: route.Domain.Name}
domainRoute.Host = route.Host
urls = append(urls, domainRoute.URL())
}
app = cf.Application{
Name: summaryResponse.Name,
Guid: summaryResponse.Guid,
Instances: summaryResponse.Instances,
RunningInstances: summaryResponse.RunningInstances,
Memory: summaryResponse.Memory,
EnvironmentVars: res.Entity.EnvironmentJson,
Urls: urls,
State: strings.ToLower(summaryResponse.State),
}
return
}
示例3: FindByName
func (repo CloudControllerApplicationRepository) FindByName(name string) (app cf.Application, err error) {
path := fmt.Sprintf("%s/v2/spaces/%s/apps?q=name%s&inline-relations-depth=1", repo.config.Target, repo.config.Space.Guid, "%3A"+name)
request, err := NewRequest("GET", path, repo.config.AccessToken, nil)
if err != nil {
return
}
findResponse := new(ApplicationsApiResponse)
_, err = repo.apiClient.PerformRequestAndParseResponse(request, findResponse)
if err != nil {
return
}
if len(findResponse.Resources) == 0 {
err = errors.New(fmt.Sprintf("Application %s not found", name))
return
}
res := findResponse.Resources[0]
path = fmt.Sprintf("%s/v2/apps/%s/summary", repo.config.Target, res.Metadata.Guid)
request, err = NewRequest("GET", path, repo.config.AccessToken, nil)
if err != nil {
return
}
summaryResponse := new(ApplicationSummary)
_, err = repo.apiClient.PerformRequestAndParseResponse(request, summaryResponse)
if err != nil {
return
}
urls := []string{}
// This is a little wonky but we made a concious effort
// to keep the domain very separate from the API repsonses
// to maintain flexibility.
domainRoute := cf.Route{}
for _, route := range summaryResponse.Routes {
domainRoute.Domain = cf.Domain{Name: route.Domain.Name}
domainRoute.Host = route.Host
urls = append(urls, domainRoute.URL())
}
app = cf.Application{
Name: summaryResponse.Name,
Guid: summaryResponse.Guid,
Instances: summaryResponse.Instances,
Memory: summaryResponse.Memory,
Urls: urls,
}
return
}
示例4: createRoute
func (cmd Push) createRoute(hostName string, domain cf.Domain) (route cf.Route) {
newRoute := cf.Route{Host: hostName, Domain: domain}
cmd.ui.Say("Creating route %s...", terminal.EntityNameColor(newRoute.URL()))
route, apiResponse := cmd.routeRepo.Create(newRoute, domain)
if apiResponse.IsNotSuccessful() {
cmd.ui.Failed(apiResponse.Message)
return
}
cmd.ui.Ok()
cmd.ui.Say("")
return
}