Documentation

Overview

    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.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func DecodeJSON

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

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

      Types

      type CloudControllerConnection

      type CloudControllerConnection struct {
      	HTTPClient *http.Client
      	UserAgent  string
      }

        CloudControllerConnection represents a connection to the Cloud Controller server.

        func NewConnection

        func NewConnection(config Config) *CloudControllerConnection

          NewConnection returns a new CloudControllerConnection with provided configuration.

          func (*CloudControllerConnection) Make

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

            Make performs the request and parses the response.

            type Config

            type Config struct {
            	DialTimeout       time.Duration
            	SkipSSLValidation bool
            }

              Config is for configuring a CloudControllerConnection.

              type Connection

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

                Connection creates and executes http requests

                type Pipebomb

                type Pipebomb struct {
                	io.ReadCloser
                }

                  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

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

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

                    func (*Pipebomb) Seek

                    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

                      type Request struct {
                      	*http.Request
                      	// contains filtered or unexported fields
                      }

                        Request represents the request of the cloud controller.

                        func NewRequest

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

                        func (*Request) ResetBody

                        func (r *Request) ResetBody() error

                        type Response

                        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.

                          Directories

                          Path Synopsis
                          Package ccv2 represents a Cloud Controller V2 client.
                          Package ccv2 represents a Cloud Controller V2 client.
                          ccv2fakes
                          Code generated by counterfeiter.
                          Code generated by counterfeiter.
                          constant
                          Package constant contains types and constants used by the ccv2 package.
                          Package constant contains types and constants used by the ccv2 package.
                          Package ccv3 represents a Cloud Controller V3 client.
                          Package ccv3 represents a Cloud Controller V3 client.
                          ccv3fakes
                          Code generated by counterfeiter.
                          Code generated by counterfeiter.
                          constant
                          Package constant contains types and constants used by the ccv3 package.
                          Package constant contains types and constants used by the ccv3 package.
                          Code generated by counterfeiter.
                          Code generated by counterfeiter.
                          wrapperfakes
                          Code generated by counterfeiter.
                          Code generated by counterfeiter.