// Code generated by go-swagger; DO NOT EDIT. // (c) 2012-2020 by Taxnexus, Inc. // All rights reserved worldwide. // Proprietary product; unlicensed use is not allowed package plex_client import ( "maps" "code.tnxs.net/vernonkeenan/lib/api/plex/plex_client/companies" "github.com/go-openapi/runtime" httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" ) // Default plex HTTP client. var Default = NewHTTPClient(nil) const ( // DefaultHost is the default Host found in Meta (info) section of spec file. DefaultHost string = "plex.vernonkeenan.com:8080" // DefaultBasePath is the default BasePath found in Meta (info) section of spec file. DefaultBasePath string = "/v1" ) // DefaultSchemes are the default schemes found in Meta (info) section of spec file. var DefaultSchemes = []string{"http"} // NewHTTPClient creates a new plex HTTP client. func NewHTTPClient(formats strfmt.Registry) *Plex { return NewHTTPClientWithConfig(formats, nil) } // NewHTTPClientWithConfig creates a new plex HTTP client, // using a customizable transport config. func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *Plex { // ensure nullable parameters have default if cfg == nil { cfg = DefaultTransportConfig() } // create transport and client. transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes) maps.Copy(transport.Producers, cfg.Producers) maps.Copy(transport.Consumers, cfg.Consumers) return New(transport, formats) } // New creates a new plex client. func New(transport runtime.ContextualTransport, formats strfmt.Registry) *Plex { // ensure nullable parameters have default if formats == nil { formats = strfmt.Default } cli := new(Plex) cli.Transport = transport cli.Companies = companies.New(transport, formats) return cli } // DefaultTransportConfig creates a TransportConfig with the // default settings taken from the meta section of the spec file. func DefaultTransportConfig() *TransportConfig { return &TransportConfig{ Host: DefaultHost, BasePath: DefaultBasePath, Schemes: DefaultSchemes, } } // TransportConfig contains the transport related info, // found in the meta section of the spec file. type TransportConfig struct { Host string BasePath string Schemes []string Producers map[string]runtime.Producer Consumers map[string]runtime.Consumer } // WithHost overrides the default host, // provided by the meta section of the spec file. func (cfg *TransportConfig) WithHost(host string) *TransportConfig { cfg.Host = host return cfg } // WithBasePath overrides the default basePath, // provided by the meta section of the spec file. func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig { cfg.BasePath = basePath return cfg } // WithSchemes overrides the default schemes, // provided by the meta section of the spec file. func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig { cfg.Schemes = schemes return cfg } // WithProducers overrides the default producers registered by [httptransport.Runtime]. func (cfg *TransportConfig) WithProducers(producers map[string]runtime.Producer) *TransportConfig { cfg.Producers = producers return cfg } // WithConsumers overrides the default consumers registered by [httptransport.Runtime]. func (cfg *TransportConfig) WithConsumers(consumers map[string]runtime.Consumer) *TransportConfig { cfg.Consumers = consumers return cfg } // Plex is a client for plex. type Plex struct { Companies companies.ClientService Transport runtime.ContextualTransport } // SetTransport changes the transport on the client and all its subresources. func (c *Plex) SetTransport(transport runtime.ContextualTransport) { c.Transport = transport c.Companies.SetTransport(transport) }