| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A Go package for building V2 Open Service Broker API compliant Service Brokers.
We appreciate and welcome open source contribution. We will try to review the changes as soon as we can.
brokerapi defines a ServiceBroker interface. Pass an implementation of this to brokerapi.New, which returns an http.Handler that you can use to serve handle HTTP requests.
brokerapi defines a handful of error types in service_broker.go for some common error cases that your service broker may encounter. Return these from your ServiceBroker methods where appropriate, and brokerapi will do the "right thing" (™), and give Cloud Foundry an appropriate status code, as per the Service Broker API specification.
NewFailureResponse() allows you to return a custom error from any of the ServiceBroker interface methods which return an error. Within this you must define an error, a HTTP response status code and a logging key. You can also use the NewFailureResponseBuilder() to add a custom Error: value in the response, or indicate that the broker should return an empty response rather than the error message.
When provisioning a service brokerapi validates the service_id and plan_id in the request, attaching the found instances to the request Context. These values can be retrieved in a brokerapi.ServiceBroker implementation using utility methods RetrieveServiceFromContext and RetrieveServicePlanFromContext as shown below.
func (sb *ServiceBrokerImplementation) Provision(ctx context.Context,
instanceID string, details brokerapi.ProvisionDetails, asyncAllowed bool) {
service := brokerapi.RetrieveServiceFromContext(ctx)
if service == nil {
// Lookup service
}
// [..]
}The request context for every request contains the unparsed X-Broker-API-Originating-Identity header under the key originatingIdentity. More details on how the Open Service Broker API manages request originating identity is available here.
The request context for every request contains the unparsed X-Broker-API-Request-Identity header under the key requestIdentity. More details on how the Open Service Broker API manages request originating identity is available here.
You can see the cf-redis service broker uses the BrokerAPI package to create a service broker for Redis.
Releasing steps can be found here
| Back | FazBrowse Home | New Git URL |