cli: Index | Files | Directories

package cloudcontroller

import ""

Package cloudcontroller contains shared utilies between the V2 and V3 clients.

These sets of packages are still under development/pre-pre-pre...alpha. Use at your own risk! Functionality and design may change without warning.

Where are the clients?

These clients live in ccv2 and ccv3 packages. Each of them only works with the V2 and V3 api respectively.


Package Files

cloud_controller_connection.go connection.go decode_json.go pipebomb.go request.go response.go

func DecodeJSON Uses

func DecodeJSON(raw []byte, v interface{}) error

DecodeJSON unmarshals JSON into the given object with the appropriate settings.

type CloudControllerConnection Uses

type CloudControllerConnection struct {
    HTTPClient *http.Client
    UserAgent  string

CloudControllerConnection represents a connection to the Cloud Controller server.

func NewConnection Uses

func NewConnection(config Config) *CloudControllerConnection

NewConnection returns a new CloudControllerConnection with provided configuration.

func (*CloudControllerConnection) Make Uses

func (connection *CloudControllerConnection) Make(request *Request, passedResponse *Response) error

Make performs the request and parses the response.

type Config Uses

type Config struct {
    DialTimeout       time.Duration
    SkipSSLValidation bool

Config is for configuring a CloudControllerConnection.

type Connection Uses

type Connection interface {
    Make(request *Request, passedResponse *Response) error

Connection creates and executes http requests

type Pipebomb Uses

type Pipebomb struct {

Pipebomb is a wrapper around an io.Pipe's io.ReadCloser that turns it into a ReadSeeker that errors on Seek calls. This is designed to prevent the caller from rereading the body multiple times.

func NewPipeBomb Uses

func NewPipeBomb() (*Pipebomb, io.WriteCloser)

NewPipeBomb returns an io.WriteCloser that can be used to stream data to a the Pipebomb.

func (*Pipebomb) Seek Uses

func (*Pipebomb) Seek(offset int64, whence int) (int64, error)

Seek returns a PipeSeekError; allowing the top level calling function to handle the retry instead of seeking back to the beginning of the Reader.

type Request Uses

type Request struct {
    // contains filtered or unexported fields

Request represents the request of the cloud controller.

func NewRequest Uses

func NewRequest(request *http.Request, body io.ReadSeeker) *Request

func (*Request) ResetBody Uses

func (r *Request) ResetBody() error

type Response Uses

type Response struct {
    // DecodeJSONResponseInto represents the resource entity type that is
    // expected in the response JSON.
    DecodeJSONResponseInto interface{}

    // RawResponse represents the response body.
    RawResponse []byte

    // Warnings represents warnings parsed from the custom warnings headers of a
    // Cloud Controller response.
    Warnings []string

    // HTTPResponse represents the HTTP response object.
    HTTPResponse *http.Response

    // ResourceLocationURL represents the Location header value
    ResourceLocationURL string

Response represents a Cloud Controller response object.


ccv2Package ccv2 represents a Cloud Controller V2 client.
ccv2/ccv2fakesCode generated by counterfeiter.
ccv2/constantPackage constant contains types and constants used by the ccv2 package.
ccv3Package ccv3 represents a Cloud Controller V3 client.
ccv3/ccv3fakesCode generated by counterfeiter.
ccv3/constantPackage constant contains types and constants used by the ccv3 package.
cloudcontrollerfakesCode generated by counterfeiter.
wrapper/wrapperfakesCode generated by counterfeiter.

Package cloudcontroller imports 12 packages (graph). Updated 2021-01-26. Refresh now. Tools for package owners.