| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357 |
- // Package client provides primitives to interact with the openapi HTTP API.
- //
- // Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.4.1 DO NOT EDIT.
- package client
- import (
- "bytes"
- "context"
- "encoding/json"
- "errors"
- "fmt"
- "io"
- "net/http"
- "net/url"
- "strings"
- "github.com/oapi-codegen/runtime"
- )
- // Defines values for SessionMessageRole.
- const (
- Assistant SessionMessageRole = "assistant"
- System SessionMessageRole = "system"
- User SessionMessageRole = "user"
- )
- // ProviderInfo defines model for Provider.Info.
- type ProviderInfo struct {
- Models map[string]struct {
- Attachment bool `json:"attachment"`
- ContextWindow float32 `json:"contextWindow"`
- Cost struct {
- Input float32 `json:"input"`
- InputCached float32 `json:"inputCached"`
- Output float32 `json:"output"`
- OutputCached float32 `json:"outputCached"`
- } `json:"cost"`
- MaxTokens float32 `json:"maxTokens"`
- Name *string `json:"name,omitempty"`
- } `json:"models"`
- Options *map[string]interface{} `json:"options,omitempty"`
- }
- // SessionInfo defines model for Session.Info.
- type SessionInfo struct {
- Cost *float32 `json:"cost,omitempty"`
- Id string `json:"id"`
- ShareID *string `json:"shareID,omitempty"`
- Title string `json:"title"`
- Tokens struct {
- Input float32 `json:"input"`
- Output float32 `json:"output"`
- Reasoning float32 `json:"reasoning"`
- } `json:"tokens"`
- }
- // SessionMessage defines model for Session.Message.
- type SessionMessage struct {
- Id string `json:"id"`
- Metadata struct {
- SessionID string `json:"sessionID"`
- Time struct {
- Completed *float32 `json:"completed,omitempty"`
- Created float32 `json:"created"`
- } `json:"time"`
- Tool map[string]interface{} `json:"tool"`
- } `json:"metadata"`
- Parts []SessionMessagePart `json:"parts"`
- Role SessionMessageRole `json:"role"`
- }
- // SessionMessageRole defines model for SessionMessage.Role.
- type SessionMessageRole string
- // SessionMessagePart defines model for Session.Message.Part.
- type SessionMessagePart struct {
- union json.RawMessage
- }
- // SessionMessagePartFile defines model for Session.Message.Part.File.
- type SessionMessagePartFile struct {
- Filename *string `json:"filename,omitempty"`
- MediaType string `json:"mediaType"`
- Type string `json:"type"`
- Url string `json:"url"`
- }
- // SessionMessagePartReasoning defines model for Session.Message.Part.Reasoning.
- type SessionMessagePartReasoning struct {
- ProviderMetadata *map[string]interface{} `json:"providerMetadata,omitempty"`
- Text string `json:"text"`
- Type string `json:"type"`
- }
- // SessionMessagePartSourceUrl defines model for Session.Message.Part.SourceUrl.
- type SessionMessagePartSourceUrl struct {
- ProviderMetadata *map[string]interface{} `json:"providerMetadata,omitempty"`
- SourceId string `json:"sourceId"`
- Title *string `json:"title,omitempty"`
- Type string `json:"type"`
- Url string `json:"url"`
- }
- // SessionMessagePartStepStart defines model for Session.Message.Part.StepStart.
- type SessionMessagePartStepStart struct {
- Type string `json:"type"`
- }
- // SessionMessagePartText defines model for Session.Message.Part.Text.
- type SessionMessagePartText struct {
- Text string `json:"text"`
- Type string `json:"type"`
- }
- // SessionMessagePartToolInvocation defines model for Session.Message.Part.ToolInvocation.
- type SessionMessagePartToolInvocation struct {
- ToolInvocation SessionMessageToolInvocation `json:"toolInvocation"`
- Type string `json:"type"`
- }
- // SessionMessageToolInvocation defines model for Session.Message.ToolInvocation.
- type SessionMessageToolInvocation struct {
- union json.RawMessage
- }
- // SessionMessageToolInvocationToolCall defines model for Session.Message.ToolInvocation.ToolCall.
- type SessionMessageToolInvocationToolCall struct {
- Args map[string]interface{} `json:"args"`
- State string `json:"state"`
- Step *float32 `json:"step,omitempty"`
- ToolCallId string `json:"toolCallId"`
- ToolName string `json:"toolName"`
- }
- // SessionMessageToolInvocationToolPartialCall defines model for Session.Message.ToolInvocation.ToolPartialCall.
- type SessionMessageToolInvocationToolPartialCall struct {
- Args map[string]interface{} `json:"args"`
- State string `json:"state"`
- Step *float32 `json:"step,omitempty"`
- ToolCallId string `json:"toolCallId"`
- ToolName string `json:"toolName"`
- }
- // SessionMessageToolInvocationToolResult defines model for Session.Message.ToolInvocation.ToolResult.
- type SessionMessageToolInvocationToolResult struct {
- Args map[string]interface{} `json:"args"`
- Result string `json:"result"`
- State string `json:"state"`
- Step *float32 `json:"step,omitempty"`
- ToolCallId string `json:"toolCallId"`
- ToolName string `json:"toolName"`
- }
- // PostSessionChatJSONBody defines parameters for PostSessionChat.
- type PostSessionChatJSONBody struct {
- ModelID string `json:"modelID"`
- Parts []SessionMessagePart `json:"parts"`
- ProviderID string `json:"providerID"`
- SessionID string `json:"sessionID"`
- }
- // PostSessionMessagesJSONBody defines parameters for PostSessionMessages.
- type PostSessionMessagesJSONBody struct {
- SessionID string `json:"sessionID"`
- }
- // PostSessionShareJSONBody defines parameters for PostSessionShare.
- type PostSessionShareJSONBody struct {
- SessionID string `json:"sessionID"`
- }
- // PostSessionChatJSONRequestBody defines body for PostSessionChat for application/json ContentType.
- type PostSessionChatJSONRequestBody PostSessionChatJSONBody
- // PostSessionMessagesJSONRequestBody defines body for PostSessionMessages for application/json ContentType.
- type PostSessionMessagesJSONRequestBody PostSessionMessagesJSONBody
- // PostSessionShareJSONRequestBody defines body for PostSessionShare for application/json ContentType.
- type PostSessionShareJSONRequestBody PostSessionShareJSONBody
- // AsSessionMessagePartText returns the union data inside the SessionMessagePart as a SessionMessagePartText
- func (t SessionMessagePart) AsSessionMessagePartText() (SessionMessagePartText, error) {
- var body SessionMessagePartText
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessagePartText overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartText
- func (t *SessionMessagePart) FromSessionMessagePartText(v SessionMessagePartText) error {
- v.Type = "text"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessagePartText performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartText
- func (t *SessionMessagePart) MergeSessionMessagePartText(v SessionMessagePartText) error {
- v.Type = "text"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- // AsSessionMessagePartReasoning returns the union data inside the SessionMessagePart as a SessionMessagePartReasoning
- func (t SessionMessagePart) AsSessionMessagePartReasoning() (SessionMessagePartReasoning, error) {
- var body SessionMessagePartReasoning
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessagePartReasoning overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartReasoning
- func (t *SessionMessagePart) FromSessionMessagePartReasoning(v SessionMessagePartReasoning) error {
- v.Type = "reasoning"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessagePartReasoning performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartReasoning
- func (t *SessionMessagePart) MergeSessionMessagePartReasoning(v SessionMessagePartReasoning) error {
- v.Type = "reasoning"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- // AsSessionMessagePartToolInvocation returns the union data inside the SessionMessagePart as a SessionMessagePartToolInvocation
- func (t SessionMessagePart) AsSessionMessagePartToolInvocation() (SessionMessagePartToolInvocation, error) {
- var body SessionMessagePartToolInvocation
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessagePartToolInvocation overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartToolInvocation
- func (t *SessionMessagePart) FromSessionMessagePartToolInvocation(v SessionMessagePartToolInvocation) error {
- v.Type = "tool-invocation"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessagePartToolInvocation performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartToolInvocation
- func (t *SessionMessagePart) MergeSessionMessagePartToolInvocation(v SessionMessagePartToolInvocation) error {
- v.Type = "tool-invocation"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- // AsSessionMessagePartSourceUrl returns the union data inside the SessionMessagePart as a SessionMessagePartSourceUrl
- func (t SessionMessagePart) AsSessionMessagePartSourceUrl() (SessionMessagePartSourceUrl, error) {
- var body SessionMessagePartSourceUrl
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessagePartSourceUrl overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartSourceUrl
- func (t *SessionMessagePart) FromSessionMessagePartSourceUrl(v SessionMessagePartSourceUrl) error {
- v.Type = "source-url"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessagePartSourceUrl performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartSourceUrl
- func (t *SessionMessagePart) MergeSessionMessagePartSourceUrl(v SessionMessagePartSourceUrl) error {
- v.Type = "source-url"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- // AsSessionMessagePartFile returns the union data inside the SessionMessagePart as a SessionMessagePartFile
- func (t SessionMessagePart) AsSessionMessagePartFile() (SessionMessagePartFile, error) {
- var body SessionMessagePartFile
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessagePartFile overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartFile
- func (t *SessionMessagePart) FromSessionMessagePartFile(v SessionMessagePartFile) error {
- v.Type = "file"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessagePartFile performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartFile
- func (t *SessionMessagePart) MergeSessionMessagePartFile(v SessionMessagePartFile) error {
- v.Type = "file"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- // AsSessionMessagePartStepStart returns the union data inside the SessionMessagePart as a SessionMessagePartStepStart
- func (t SessionMessagePart) AsSessionMessagePartStepStart() (SessionMessagePartStepStart, error) {
- var body SessionMessagePartStepStart
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessagePartStepStart overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartStepStart
- func (t *SessionMessagePart) FromSessionMessagePartStepStart(v SessionMessagePartStepStart) error {
- v.Type = "step-start"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessagePartStepStart performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartStepStart
- func (t *SessionMessagePart) MergeSessionMessagePartStepStart(v SessionMessagePartStepStart) error {
- v.Type = "step-start"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- func (t SessionMessagePart) Discriminator() (string, error) {
- var discriminator struct {
- Discriminator string `json:"type"`
- }
- err := json.Unmarshal(t.union, &discriminator)
- return discriminator.Discriminator, err
- }
- func (t SessionMessagePart) ValueByDiscriminator() (interface{}, error) {
- discriminator, err := t.Discriminator()
- if err != nil {
- return nil, err
- }
- switch discriminator {
- case "file":
- return t.AsSessionMessagePartFile()
- case "reasoning":
- return t.AsSessionMessagePartReasoning()
- case "source-url":
- return t.AsSessionMessagePartSourceUrl()
- case "step-start":
- return t.AsSessionMessagePartStepStart()
- case "text":
- return t.AsSessionMessagePartText()
- case "tool-invocation":
- return t.AsSessionMessagePartToolInvocation()
- default:
- return nil, errors.New("unknown discriminator value: " + discriminator)
- }
- }
- func (t SessionMessagePart) MarshalJSON() ([]byte, error) {
- b, err := t.union.MarshalJSON()
- return b, err
- }
- func (t *SessionMessagePart) UnmarshalJSON(b []byte) error {
- err := t.union.UnmarshalJSON(b)
- return err
- }
- // AsSessionMessageToolInvocationToolCall returns the union data inside the SessionMessageToolInvocation as a SessionMessageToolInvocationToolCall
- func (t SessionMessageToolInvocation) AsSessionMessageToolInvocationToolCall() (SessionMessageToolInvocationToolCall, error) {
- var body SessionMessageToolInvocationToolCall
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessageToolInvocationToolCall overwrites any union data inside the SessionMessageToolInvocation as the provided SessionMessageToolInvocationToolCall
- func (t *SessionMessageToolInvocation) FromSessionMessageToolInvocationToolCall(v SessionMessageToolInvocationToolCall) error {
- v.State = "call"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessageToolInvocationToolCall performs a merge with any union data inside the SessionMessageToolInvocation, using the provided SessionMessageToolInvocationToolCall
- func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolCall(v SessionMessageToolInvocationToolCall) error {
- v.State = "call"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- // AsSessionMessageToolInvocationToolPartialCall returns the union data inside the SessionMessageToolInvocation as a SessionMessageToolInvocationToolPartialCall
- func (t SessionMessageToolInvocation) AsSessionMessageToolInvocationToolPartialCall() (SessionMessageToolInvocationToolPartialCall, error) {
- var body SessionMessageToolInvocationToolPartialCall
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessageToolInvocationToolPartialCall overwrites any union data inside the SessionMessageToolInvocation as the provided SessionMessageToolInvocationToolPartialCall
- func (t *SessionMessageToolInvocation) FromSessionMessageToolInvocationToolPartialCall(v SessionMessageToolInvocationToolPartialCall) error {
- v.State = "partial-call"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessageToolInvocationToolPartialCall performs a merge with any union data inside the SessionMessageToolInvocation, using the provided SessionMessageToolInvocationToolPartialCall
- func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolPartialCall(v SessionMessageToolInvocationToolPartialCall) error {
- v.State = "partial-call"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- // AsSessionMessageToolInvocationToolResult returns the union data inside the SessionMessageToolInvocation as a SessionMessageToolInvocationToolResult
- func (t SessionMessageToolInvocation) AsSessionMessageToolInvocationToolResult() (SessionMessageToolInvocationToolResult, error) {
- var body SessionMessageToolInvocationToolResult
- err := json.Unmarshal(t.union, &body)
- return body, err
- }
- // FromSessionMessageToolInvocationToolResult overwrites any union data inside the SessionMessageToolInvocation as the provided SessionMessageToolInvocationToolResult
- func (t *SessionMessageToolInvocation) FromSessionMessageToolInvocationToolResult(v SessionMessageToolInvocationToolResult) error {
- v.State = "result"
- b, err := json.Marshal(v)
- t.union = b
- return err
- }
- // MergeSessionMessageToolInvocationToolResult performs a merge with any union data inside the SessionMessageToolInvocation, using the provided SessionMessageToolInvocationToolResult
- func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolResult(v SessionMessageToolInvocationToolResult) error {
- v.State = "result"
- b, err := json.Marshal(v)
- if err != nil {
- return err
- }
- merged, err := runtime.JSONMerge(t.union, b)
- t.union = merged
- return err
- }
- func (t SessionMessageToolInvocation) Discriminator() (string, error) {
- var discriminator struct {
- Discriminator string `json:"state"`
- }
- err := json.Unmarshal(t.union, &discriminator)
- return discriminator.Discriminator, err
- }
- func (t SessionMessageToolInvocation) ValueByDiscriminator() (interface{}, error) {
- discriminator, err := t.Discriminator()
- if err != nil {
- return nil, err
- }
- switch discriminator {
- case "call":
- return t.AsSessionMessageToolInvocationToolCall()
- case "partial-call":
- return t.AsSessionMessageToolInvocationToolPartialCall()
- case "result":
- return t.AsSessionMessageToolInvocationToolResult()
- default:
- return nil, errors.New("unknown discriminator value: " + discriminator)
- }
- }
- func (t SessionMessageToolInvocation) MarshalJSON() ([]byte, error) {
- b, err := t.union.MarshalJSON()
- return b, err
- }
- func (t *SessionMessageToolInvocation) UnmarshalJSON(b []byte) error {
- err := t.union.UnmarshalJSON(b)
- return err
- }
- // RequestEditorFn is the function signature for the RequestEditor callback function
- type RequestEditorFn func(ctx context.Context, req *http.Request) error
- // Doer performs HTTP requests.
- //
- // The standard http.Client implements this interface.
- type HttpRequestDoer interface {
- Do(req *http.Request) (*http.Response, error)
- }
- // Client which conforms to the OpenAPI3 specification for this service.
- type Client struct {
- // The endpoint of the server conforming to this interface, with scheme,
- // https://api.deepmap.com for example. This can contain a path relative
- // to the server, such as https://api.deepmap.com/dev-test, and all the
- // paths in the swagger spec will be appended to the server.
- Server string
- // Doer for performing requests, typically a *http.Client with any
- // customized settings, such as certificate chains.
- Client HttpRequestDoer
- // A list of callbacks for modifying requests which are generated before sending over
- // the network.
- RequestEditors []RequestEditorFn
- }
- // ClientOption allows setting custom parameters during construction
- type ClientOption func(*Client) error
- // Creates a new Client, with reasonable defaults
- func NewClient(server string, opts ...ClientOption) (*Client, error) {
- // create a client with sane default values
- client := Client{
- Server: server,
- }
- // mutate client and add all optional params
- for _, o := range opts {
- if err := o(&client); err != nil {
- return nil, err
- }
- }
- // ensure the server URL always has a trailing slash
- if !strings.HasSuffix(client.Server, "/") {
- client.Server += "/"
- }
- // create httpClient, if not already present
- if client.Client == nil {
- client.Client = &http.Client{}
- }
- return &client, nil
- }
- // WithHTTPClient allows overriding the default Doer, which is
- // automatically created using http.Client. This is useful for tests.
- func WithHTTPClient(doer HttpRequestDoer) ClientOption {
- return func(c *Client) error {
- c.Client = doer
- return nil
- }
- }
- // WithRequestEditorFn allows setting up a callback function, which will be
- // called right before sending the request. This can be used to mutate the request.
- func WithRequestEditorFn(fn RequestEditorFn) ClientOption {
- return func(c *Client) error {
- c.RequestEditors = append(c.RequestEditors, fn)
- return nil
- }
- }
- // The interface specification for the client above.
- type ClientInterface interface {
- // PostProviderList request
- PostProviderList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- // PostSessionChatWithBody request with any body
- PostSessionChatWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
- PostSessionChat(ctx context.Context, body PostSessionChatJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
- // PostSessionCreate request
- PostSessionCreate(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- // PostSessionList request
- PostSessionList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
- // PostSessionMessagesWithBody request with any body
- PostSessionMessagesWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
- PostSessionMessages(ctx context.Context, body PostSessionMessagesJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
- // PostSessionShareWithBody request with any body
- PostSessionShareWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
- PostSessionShare(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
- }
- func (c *Client) PostProviderList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostProviderListRequest(c.Server)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- func (c *Client) PostSessionChatWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostSessionChatRequestWithBody(c.Server, contentType, body)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- func (c *Client) PostSessionChat(ctx context.Context, body PostSessionChatJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostSessionChatRequest(c.Server, body)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- func (c *Client) PostSessionCreate(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostSessionCreateRequest(c.Server)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- func (c *Client) PostSessionList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostSessionListRequest(c.Server)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- func (c *Client) PostSessionMessagesWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostSessionMessagesRequestWithBody(c.Server, contentType, body)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- func (c *Client) PostSessionMessages(ctx context.Context, body PostSessionMessagesJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostSessionMessagesRequest(c.Server, body)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- func (c *Client) PostSessionShareWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostSessionShareRequestWithBody(c.Server, contentType, body)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- func (c *Client) PostSessionShare(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
- req, err := NewPostSessionShareRequest(c.Server, body)
- if err != nil {
- return nil, err
- }
- req = req.WithContext(ctx)
- if err := c.applyEditors(ctx, req, reqEditors); err != nil {
- return nil, err
- }
- return c.Client.Do(req)
- }
- // NewPostProviderListRequest generates requests for PostProviderList
- func NewPostProviderListRequest(server string) (*http.Request, error) {
- var err error
- serverURL, err := url.Parse(server)
- if err != nil {
- return nil, err
- }
- operationPath := fmt.Sprintf("/provider_list")
- if operationPath[0] == '/' {
- operationPath = "." + operationPath
- }
- queryURL, err := serverURL.Parse(operationPath)
- if err != nil {
- return nil, err
- }
- req, err := http.NewRequest("POST", queryURL.String(), nil)
- if err != nil {
- return nil, err
- }
- return req, nil
- }
- // NewPostSessionChatRequest calls the generic PostSessionChat builder with application/json body
- func NewPostSessionChatRequest(server string, body PostSessionChatJSONRequestBody) (*http.Request, error) {
- var bodyReader io.Reader
- buf, err := json.Marshal(body)
- if err != nil {
- return nil, err
- }
- bodyReader = bytes.NewReader(buf)
- return NewPostSessionChatRequestWithBody(server, "application/json", bodyReader)
- }
- // NewPostSessionChatRequestWithBody generates requests for PostSessionChat with any type of body
- func NewPostSessionChatRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
- var err error
- serverURL, err := url.Parse(server)
- if err != nil {
- return nil, err
- }
- operationPath := fmt.Sprintf("/session_chat")
- if operationPath[0] == '/' {
- operationPath = "." + operationPath
- }
- queryURL, err := serverURL.Parse(operationPath)
- if err != nil {
- return nil, err
- }
- req, err := http.NewRequest("POST", queryURL.String(), body)
- if err != nil {
- return nil, err
- }
- req.Header.Add("Content-Type", contentType)
- return req, nil
- }
- // NewPostSessionCreateRequest generates requests for PostSessionCreate
- func NewPostSessionCreateRequest(server string) (*http.Request, error) {
- var err error
- serverURL, err := url.Parse(server)
- if err != nil {
- return nil, err
- }
- operationPath := fmt.Sprintf("/session_create")
- if operationPath[0] == '/' {
- operationPath = "." + operationPath
- }
- queryURL, err := serverURL.Parse(operationPath)
- if err != nil {
- return nil, err
- }
- req, err := http.NewRequest("POST", queryURL.String(), nil)
- if err != nil {
- return nil, err
- }
- return req, nil
- }
- // NewPostSessionListRequest generates requests for PostSessionList
- func NewPostSessionListRequest(server string) (*http.Request, error) {
- var err error
- serverURL, err := url.Parse(server)
- if err != nil {
- return nil, err
- }
- operationPath := fmt.Sprintf("/session_list")
- if operationPath[0] == '/' {
- operationPath = "." + operationPath
- }
- queryURL, err := serverURL.Parse(operationPath)
- if err != nil {
- return nil, err
- }
- req, err := http.NewRequest("POST", queryURL.String(), nil)
- if err != nil {
- return nil, err
- }
- return req, nil
- }
- // NewPostSessionMessagesRequest calls the generic PostSessionMessages builder with application/json body
- func NewPostSessionMessagesRequest(server string, body PostSessionMessagesJSONRequestBody) (*http.Request, error) {
- var bodyReader io.Reader
- buf, err := json.Marshal(body)
- if err != nil {
- return nil, err
- }
- bodyReader = bytes.NewReader(buf)
- return NewPostSessionMessagesRequestWithBody(server, "application/json", bodyReader)
- }
- // NewPostSessionMessagesRequestWithBody generates requests for PostSessionMessages with any type of body
- func NewPostSessionMessagesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
- var err error
- serverURL, err := url.Parse(server)
- if err != nil {
- return nil, err
- }
- operationPath := fmt.Sprintf("/session_messages")
- if operationPath[0] == '/' {
- operationPath = "." + operationPath
- }
- queryURL, err := serverURL.Parse(operationPath)
- if err != nil {
- return nil, err
- }
- req, err := http.NewRequest("POST", queryURL.String(), body)
- if err != nil {
- return nil, err
- }
- req.Header.Add("Content-Type", contentType)
- return req, nil
- }
- // NewPostSessionShareRequest calls the generic PostSessionShare builder with application/json body
- func NewPostSessionShareRequest(server string, body PostSessionShareJSONRequestBody) (*http.Request, error) {
- var bodyReader io.Reader
- buf, err := json.Marshal(body)
- if err != nil {
- return nil, err
- }
- bodyReader = bytes.NewReader(buf)
- return NewPostSessionShareRequestWithBody(server, "application/json", bodyReader)
- }
- // NewPostSessionShareRequestWithBody generates requests for PostSessionShare with any type of body
- func NewPostSessionShareRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
- var err error
- serverURL, err := url.Parse(server)
- if err != nil {
- return nil, err
- }
- operationPath := fmt.Sprintf("/session_share")
- if operationPath[0] == '/' {
- operationPath = "." + operationPath
- }
- queryURL, err := serverURL.Parse(operationPath)
- if err != nil {
- return nil, err
- }
- req, err := http.NewRequest("POST", queryURL.String(), body)
- if err != nil {
- return nil, err
- }
- req.Header.Add("Content-Type", contentType)
- return req, nil
- }
- func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error {
- for _, r := range c.RequestEditors {
- if err := r(ctx, req); err != nil {
- return err
- }
- }
- for _, r := range additionalEditors {
- if err := r(ctx, req); err != nil {
- return err
- }
- }
- return nil
- }
- // ClientWithResponses builds on ClientInterface to offer response payloads
- type ClientWithResponses struct {
- ClientInterface
- }
- // NewClientWithResponses creates a new ClientWithResponses, which wraps
- // Client with return type handling
- func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error) {
- client, err := NewClient(server, opts...)
- if err != nil {
- return nil, err
- }
- return &ClientWithResponses{client}, nil
- }
- // WithBaseURL overrides the baseURL.
- func WithBaseURL(baseURL string) ClientOption {
- return func(c *Client) error {
- newBaseURL, err := url.Parse(baseURL)
- if err != nil {
- return err
- }
- c.Server = newBaseURL.String()
- return nil
- }
- }
- // ClientWithResponsesInterface is the interface specification for the client with responses above.
- type ClientWithResponsesInterface interface {
- // PostProviderListWithResponse request
- PostProviderListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostProviderListResponse, error)
- // PostSessionChatWithBodyWithResponse request with any body
- PostSessionChatWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionChatResponse, error)
- PostSessionChatWithResponse(ctx context.Context, body PostSessionChatJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionChatResponse, error)
- // PostSessionCreateWithResponse request
- PostSessionCreateWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionCreateResponse, error)
- // PostSessionListWithResponse request
- PostSessionListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionListResponse, error)
- // PostSessionMessagesWithBodyWithResponse request with any body
- PostSessionMessagesWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionMessagesResponse, error)
- PostSessionMessagesWithResponse(ctx context.Context, body PostSessionMessagesJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionMessagesResponse, error)
- // PostSessionShareWithBodyWithResponse request with any body
- PostSessionShareWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error)
- PostSessionShareWithResponse(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error)
- }
- type PostProviderListResponse struct {
- Body []byte
- HTTPResponse *http.Response
- JSON200 *map[string]ProviderInfo
- }
- // Status returns HTTPResponse.Status
- func (r PostProviderListResponse) Status() string {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.Status
- }
- return http.StatusText(0)
- }
- // StatusCode returns HTTPResponse.StatusCode
- func (r PostProviderListResponse) StatusCode() int {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.StatusCode
- }
- return 0
- }
- type PostSessionChatResponse struct {
- Body []byte
- HTTPResponse *http.Response
- }
- // Status returns HTTPResponse.Status
- func (r PostSessionChatResponse) Status() string {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.Status
- }
- return http.StatusText(0)
- }
- // StatusCode returns HTTPResponse.StatusCode
- func (r PostSessionChatResponse) StatusCode() int {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.StatusCode
- }
- return 0
- }
- type PostSessionCreateResponse struct {
- Body []byte
- HTTPResponse *http.Response
- JSON200 *SessionInfo
- }
- // Status returns HTTPResponse.Status
- func (r PostSessionCreateResponse) Status() string {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.Status
- }
- return http.StatusText(0)
- }
- // StatusCode returns HTTPResponse.StatusCode
- func (r PostSessionCreateResponse) StatusCode() int {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.StatusCode
- }
- return 0
- }
- type PostSessionListResponse struct {
- Body []byte
- HTTPResponse *http.Response
- JSON200 *[]struct {
- Cost *float32 `json:"cost,omitempty"`
- Id string `json:"id"`
- ShareID *string `json:"shareID,omitempty"`
- Title string `json:"title"`
- Tokens struct {
- Input float32 `json:"input"`
- Output float32 `json:"output"`
- Reasoning float32 `json:"reasoning"`
- } `json:"tokens"`
- }
- }
- // Status returns HTTPResponse.Status
- func (r PostSessionListResponse) Status() string {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.Status
- }
- return http.StatusText(0)
- }
- // StatusCode returns HTTPResponse.StatusCode
- func (r PostSessionListResponse) StatusCode() int {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.StatusCode
- }
- return 0
- }
- type PostSessionMessagesResponse struct {
- Body []byte
- HTTPResponse *http.Response
- JSON200 *[]SessionMessage
- }
- // Status returns HTTPResponse.Status
- func (r PostSessionMessagesResponse) Status() string {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.Status
- }
- return http.StatusText(0)
- }
- // StatusCode returns HTTPResponse.StatusCode
- func (r PostSessionMessagesResponse) StatusCode() int {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.StatusCode
- }
- return 0
- }
- type PostSessionShareResponse struct {
- Body []byte
- HTTPResponse *http.Response
- JSON200 *SessionInfo
- }
- // Status returns HTTPResponse.Status
- func (r PostSessionShareResponse) Status() string {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.Status
- }
- return http.StatusText(0)
- }
- // StatusCode returns HTTPResponse.StatusCode
- func (r PostSessionShareResponse) StatusCode() int {
- if r.HTTPResponse != nil {
- return r.HTTPResponse.StatusCode
- }
- return 0
- }
- // PostProviderListWithResponse request returning *PostProviderListResponse
- func (c *ClientWithResponses) PostProviderListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostProviderListResponse, error) {
- rsp, err := c.PostProviderList(ctx, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostProviderListResponse(rsp)
- }
- // PostSessionChatWithBodyWithResponse request with arbitrary body returning *PostSessionChatResponse
- func (c *ClientWithResponses) PostSessionChatWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionChatResponse, error) {
- rsp, err := c.PostSessionChatWithBody(ctx, contentType, body, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostSessionChatResponse(rsp)
- }
- func (c *ClientWithResponses) PostSessionChatWithResponse(ctx context.Context, body PostSessionChatJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionChatResponse, error) {
- rsp, err := c.PostSessionChat(ctx, body, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostSessionChatResponse(rsp)
- }
- // PostSessionCreateWithResponse request returning *PostSessionCreateResponse
- func (c *ClientWithResponses) PostSessionCreateWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionCreateResponse, error) {
- rsp, err := c.PostSessionCreate(ctx, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostSessionCreateResponse(rsp)
- }
- // PostSessionListWithResponse request returning *PostSessionListResponse
- func (c *ClientWithResponses) PostSessionListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionListResponse, error) {
- rsp, err := c.PostSessionList(ctx, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostSessionListResponse(rsp)
- }
- // PostSessionMessagesWithBodyWithResponse request with arbitrary body returning *PostSessionMessagesResponse
- func (c *ClientWithResponses) PostSessionMessagesWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionMessagesResponse, error) {
- rsp, err := c.PostSessionMessagesWithBody(ctx, contentType, body, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostSessionMessagesResponse(rsp)
- }
- func (c *ClientWithResponses) PostSessionMessagesWithResponse(ctx context.Context, body PostSessionMessagesJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionMessagesResponse, error) {
- rsp, err := c.PostSessionMessages(ctx, body, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostSessionMessagesResponse(rsp)
- }
- // PostSessionShareWithBodyWithResponse request with arbitrary body returning *PostSessionShareResponse
- func (c *ClientWithResponses) PostSessionShareWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error) {
- rsp, err := c.PostSessionShareWithBody(ctx, contentType, body, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostSessionShareResponse(rsp)
- }
- func (c *ClientWithResponses) PostSessionShareWithResponse(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error) {
- rsp, err := c.PostSessionShare(ctx, body, reqEditors...)
- if err != nil {
- return nil, err
- }
- return ParsePostSessionShareResponse(rsp)
- }
- // ParsePostProviderListResponse parses an HTTP response from a PostProviderListWithResponse call
- func ParsePostProviderListResponse(rsp *http.Response) (*PostProviderListResponse, error) {
- bodyBytes, err := io.ReadAll(rsp.Body)
- defer func() { _ = rsp.Body.Close() }()
- if err != nil {
- return nil, err
- }
- response := &PostProviderListResponse{
- Body: bodyBytes,
- HTTPResponse: rsp,
- }
- switch {
- case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
- var dest map[string]ProviderInfo
- if err := json.Unmarshal(bodyBytes, &dest); err != nil {
- return nil, err
- }
- response.JSON200 = &dest
- }
- return response, nil
- }
- // ParsePostSessionChatResponse parses an HTTP response from a PostSessionChatWithResponse call
- func ParsePostSessionChatResponse(rsp *http.Response) (*PostSessionChatResponse, error) {
- bodyBytes, err := io.ReadAll(rsp.Body)
- defer func() { _ = rsp.Body.Close() }()
- if err != nil {
- return nil, err
- }
- response := &PostSessionChatResponse{
- Body: bodyBytes,
- HTTPResponse: rsp,
- }
- return response, nil
- }
- // ParsePostSessionCreateResponse parses an HTTP response from a PostSessionCreateWithResponse call
- func ParsePostSessionCreateResponse(rsp *http.Response) (*PostSessionCreateResponse, error) {
- bodyBytes, err := io.ReadAll(rsp.Body)
- defer func() { _ = rsp.Body.Close() }()
- if err != nil {
- return nil, err
- }
- response := &PostSessionCreateResponse{
- Body: bodyBytes,
- HTTPResponse: rsp,
- }
- switch {
- case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
- var dest SessionInfo
- if err := json.Unmarshal(bodyBytes, &dest); err != nil {
- return nil, err
- }
- response.JSON200 = &dest
- }
- return response, nil
- }
- // ParsePostSessionListResponse parses an HTTP response from a PostSessionListWithResponse call
- func ParsePostSessionListResponse(rsp *http.Response) (*PostSessionListResponse, error) {
- bodyBytes, err := io.ReadAll(rsp.Body)
- defer func() { _ = rsp.Body.Close() }()
- if err != nil {
- return nil, err
- }
- response := &PostSessionListResponse{
- Body: bodyBytes,
- HTTPResponse: rsp,
- }
- switch {
- case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
- var dest []struct {
- Cost *float32 `json:"cost,omitempty"`
- Id string `json:"id"`
- ShareID *string `json:"shareID,omitempty"`
- Title string `json:"title"`
- Tokens struct {
- Input float32 `json:"input"`
- Output float32 `json:"output"`
- Reasoning float32 `json:"reasoning"`
- } `json:"tokens"`
- }
- if err := json.Unmarshal(bodyBytes, &dest); err != nil {
- return nil, err
- }
- response.JSON200 = &dest
- }
- return response, nil
- }
- // ParsePostSessionMessagesResponse parses an HTTP response from a PostSessionMessagesWithResponse call
- func ParsePostSessionMessagesResponse(rsp *http.Response) (*PostSessionMessagesResponse, error) {
- bodyBytes, err := io.ReadAll(rsp.Body)
- defer func() { _ = rsp.Body.Close() }()
- if err != nil {
- return nil, err
- }
- response := &PostSessionMessagesResponse{
- Body: bodyBytes,
- HTTPResponse: rsp,
- }
- switch {
- case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
- var dest []SessionMessage
- if err := json.Unmarshal(bodyBytes, &dest); err != nil {
- return nil, err
- }
- response.JSON200 = &dest
- }
- return response, nil
- }
- // ParsePostSessionShareResponse parses an HTTP response from a PostSessionShareWithResponse call
- func ParsePostSessionShareResponse(rsp *http.Response) (*PostSessionShareResponse, error) {
- bodyBytes, err := io.ReadAll(rsp.Body)
- defer func() { _ = rsp.Body.Close() }()
- if err != nil {
- return nil, err
- }
- response := &PostSessionShareResponse{
- Body: bodyBytes,
- HTTPResponse: rsp,
- }
- switch {
- case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
- var dest SessionInfo
- if err := json.Unmarshal(bodyBytes, &dest); err != nil {
- return nil, err
- }
- response.JSON200 = &dest
- }
- return response, nil
- }
|