Skip to main content
Glama

GameBrain Video Game Discovery

by ddsky
api_default.go27.1 kB
/* GameBrain API GameBrain API API version: 1.0.1 Contact: mail@gamebrain.co */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package gamebrain import ( "bytes" "context" "io" "net/http" "net/url" "strings" ) // DefaultAPIService DefaultAPI service type DefaultAPIService service type ApiDetailRequest struct { ctx context.Context ApiService *DefaultAPIService id int32 apiKey *string } // Your API key for authentication. func (r ApiDetailRequest) ApiKey(apiKey string) ApiDetailRequest { r.apiKey = &apiKey return r } func (r ApiDetailRequest) Execute() (*GameResponse, *http.Response, error) { return r.ApiService.DetailExecute(r) } /* Detail Get Game Details Get all the details about a game given its id. Details include screenshots, ratings, release dates, videos, description, tags, and much more. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param id The unique identifier of the game. @return ApiDetailRequest */ func (a *DefaultAPIService) Detail(ctx context.Context, id int32) ApiDetailRequest { return ApiDetailRequest{ ApiService: a, ctx: ctx, id: id, } } // Execute executes the request // @return GameResponse func (a *DefaultAPIService) DetailExecute(r ApiDetailRequest) (*GameResponse, *http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile localVarReturnValue *GameResponse ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultAPIService.Detail") if err != nil { return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/games/{id}" localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.apiKey == nil { return localVarReturnValue, nil, reportError("apiKey is required and must be specified") } if strlen(*r.apiKey) > 300 { return localVarReturnValue, nil, reportError("apiKey must have less than 300 elements") } parameterAddToHeaderOrQuery(localVarQueryParams, "api-key", r.apiKey, "") // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["apiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarQueryParams.Add("api-key", key) } } } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["headerApiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarHeaderParams["x-api-key"] = key } } } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarReturnValue, localVarHTTPResponse, newErr } err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := &GenericOpenAPIError{ body: localVarBody, error: err.Error(), } return localVarReturnValue, localVarHTTPResponse, newErr } return localVarReturnValue, localVarHTTPResponse, nil } type ApiNewsRequest struct { ctx context.Context ApiService *DefaultAPIService id int32 offset *int32 limit *int32 apiKey *string } func (r ApiNewsRequest) Offset(offset int32) ApiNewsRequest { r.offset = &offset return r } func (r ApiNewsRequest) Limit(limit int32) ApiNewsRequest { r.limit = &limit return r } func (r ApiNewsRequest) ApiKey(apiKey string) ApiNewsRequest { r.apiKey = &apiKey return r } func (r ApiNewsRequest) Execute() (*GameNewsResponse, *http.Response, error) { return r.ApiService.NewsExecute(r) } /* News Get Game News Get news related to the given game. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param id @return ApiNewsRequest */ func (a *DefaultAPIService) News(ctx context.Context, id int32) ApiNewsRequest { return ApiNewsRequest{ ApiService: a, ctx: ctx, id: id, } } // Execute executes the request // @return GameNewsResponse func (a *DefaultAPIService) NewsExecute(r ApiNewsRequest) (*GameNewsResponse, *http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile localVarReturnValue *GameNewsResponse ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultAPIService.News") if err != nil { return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/games/{id}/news" localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.offset == nil { return localVarReturnValue, nil, reportError("offset is required and must be specified") } if r.limit == nil { return localVarReturnValue, nil, reportError("limit is required and must be specified") } if r.apiKey == nil { return localVarReturnValue, nil, reportError("apiKey is required and must be specified") } if strlen(*r.apiKey) > 300 { return localVarReturnValue, nil, reportError("apiKey must have less than 300 elements") } parameterAddToHeaderOrQuery(localVarQueryParams, "offset", r.offset, "") parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "") parameterAddToHeaderOrQuery(localVarQueryParams, "api-key", r.apiKey, "") // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["apiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarQueryParams.Add("api-key", key) } } } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["headerApiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarHeaderParams["x-api-key"] = key } } } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarReturnValue, localVarHTTPResponse, newErr } err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := &GenericOpenAPIError{ body: localVarBody, error: err.Error(), } return localVarReturnValue, localVarHTTPResponse, newErr } return localVarReturnValue, localVarHTTPResponse, nil } type ApiSearchRequest struct { ctx context.Context ApiService *DefaultAPIService query *string offset *int32 limit *int32 filters *string sort *string sortOrder *string generateFilterOptions *bool apiKey *string } // The search query, e.g., game name, platform, genre, or any combination. func (r ApiSearchRequest) Query(query string) ApiSearchRequest { r.query = &query return r } // The number of results to skip before starting to collect the result set. Between 0 and 1000. func (r ApiSearchRequest) Offset(offset int32) ApiSearchRequest { r.offset = &offset return r } // The maximum number of results to return between 1 and 10. func (r ApiSearchRequest) Limit(limit int32) ApiSearchRequest { r.limit = &limit return r } // JSON array of filter objects to apply to the search. func (r ApiSearchRequest) Filters(filters string) ApiSearchRequest { r.filters = &filters return r } // The field by which to sort the results, either computed_rating, price, or release_date func (r ApiSearchRequest) Sort(sort string) ApiSearchRequest { r.sort = &sort return r } // The sort order: 'asc' for ascending or 'desc' for descending. func (r ApiSearchRequest) SortOrder(sortOrder string) ApiSearchRequest { r.sortOrder = &sortOrder return r } // Whether to generate filter options in the response. func (r ApiSearchRequest) GenerateFilterOptions(generateFilterOptions bool) ApiSearchRequest { r.generateFilterOptions = &generateFilterOptions return r } // Your API key for authentication. func (r ApiSearchRequest) ApiKey(apiKey string) ApiSearchRequest { r.apiKey = &apiKey return r } func (r ApiSearchRequest) Execute() (*SearchResponse, *http.Response, error) { return r.ApiService.SearchExecute(r) } /* Search Search Games Search hundreds of thousands of video games from over 70 platforms. The query can be a game name, a platform, a genre, or any combination @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiSearchRequest */ func (a *DefaultAPIService) Search(ctx context.Context) ApiSearchRequest { return ApiSearchRequest{ ApiService: a, ctx: ctx, } } // Execute executes the request // @return SearchResponse func (a *DefaultAPIService) SearchExecute(r ApiSearchRequest) (*SearchResponse, *http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile localVarReturnValue *SearchResponse ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultAPIService.Search") if err != nil { return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/games" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.query == nil { return localVarReturnValue, nil, reportError("query is required and must be specified") } if strlen(*r.query) > 300 { return localVarReturnValue, nil, reportError("query must have less than 300 elements") } if r.offset == nil { return localVarReturnValue, nil, reportError("offset is required and must be specified") } if r.limit == nil { return localVarReturnValue, nil, reportError("limit is required and must be specified") } if r.filters == nil { return localVarReturnValue, nil, reportError("filters is required and must be specified") } if strlen(*r.filters) > 3000 { return localVarReturnValue, nil, reportError("filters must have less than 3000 elements") } if r.sort == nil { return localVarReturnValue, nil, reportError("sort is required and must be specified") } if strlen(*r.sort) > 300 { return localVarReturnValue, nil, reportError("sort must have less than 300 elements") } if r.sortOrder == nil { return localVarReturnValue, nil, reportError("sortOrder is required and must be specified") } if strlen(*r.sortOrder) > 4 { return localVarReturnValue, nil, reportError("sortOrder must have less than 4 elements") } if r.generateFilterOptions == nil { return localVarReturnValue, nil, reportError("generateFilterOptions is required and must be specified") } if r.apiKey == nil { return localVarReturnValue, nil, reportError("apiKey is required and must be specified") } if strlen(*r.apiKey) > 300 { return localVarReturnValue, nil, reportError("apiKey must have less than 300 elements") } parameterAddToHeaderOrQuery(localVarQueryParams, "query", r.query, "") parameterAddToHeaderOrQuery(localVarQueryParams, "offset", r.offset, "") parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "") parameterAddToHeaderOrQuery(localVarQueryParams, "filters", r.filters, "") parameterAddToHeaderOrQuery(localVarQueryParams, "sort", r.sort, "") parameterAddToHeaderOrQuery(localVarQueryParams, "sort-order", r.sortOrder, "") parameterAddToHeaderOrQuery(localVarQueryParams, "generate-filter-options", r.generateFilterOptions, "") parameterAddToHeaderOrQuery(localVarQueryParams, "api-key", r.apiKey, "") // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["apiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarQueryParams.Add("api-key", key) } } } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["headerApiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarHeaderParams["x-api-key"] = key } } } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarReturnValue, localVarHTTPResponse, newErr } err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := &GenericOpenAPIError{ body: localVarBody, error: err.Error(), } return localVarReturnValue, localVarHTTPResponse, newErr } return localVarReturnValue, localVarHTTPResponse, nil } type ApiSimilarRequest struct { ctx context.Context ApiService *DefaultAPIService id int32 limit *int32 apiKey *string } func (r ApiSimilarRequest) Limit(limit int32) ApiSimilarRequest { r.limit = &limit return r } func (r ApiSimilarRequest) ApiKey(apiKey string) ApiSimilarRequest { r.apiKey = &apiKey return r } func (r ApiSimilarRequest) Execute() (*SimilarGamesResponse, *http.Response, error) { return r.ApiService.SimilarExecute(r) } /* Similar Get Similar Games Get games that are similar to the given one. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @param id @return ApiSimilarRequest */ func (a *DefaultAPIService) Similar(ctx context.Context, id int32) ApiSimilarRequest { return ApiSimilarRequest{ ApiService: a, ctx: ctx, id: id, } } // Execute executes the request // @return SimilarGamesResponse func (a *DefaultAPIService) SimilarExecute(r ApiSimilarRequest) (*SimilarGamesResponse, *http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile localVarReturnValue *SimilarGamesResponse ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultAPIService.Similar") if err != nil { return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/games/{id}/similar" localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1) localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.limit == nil { return localVarReturnValue, nil, reportError("limit is required and must be specified") } if r.apiKey == nil { return localVarReturnValue, nil, reportError("apiKey is required and must be specified") } if strlen(*r.apiKey) > 300 { return localVarReturnValue, nil, reportError("apiKey must have less than 300 elements") } parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "") parameterAddToHeaderOrQuery(localVarQueryParams, "api-key", r.apiKey, "") // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["apiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarQueryParams.Add("api-key", key) } } } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["headerApiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarHeaderParams["x-api-key"] = key } } } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarReturnValue, localVarHTTPResponse, newErr } err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := &GenericOpenAPIError{ body: localVarBody, error: err.Error(), } return localVarReturnValue, localVarHTTPResponse, newErr } return localVarReturnValue, localVarHTTPResponse, nil } type ApiSuggestRequest struct { ctx context.Context ApiService *DefaultAPIService query *string limit *int32 apiKey *string } // The partial search query to get suggestions for. func (r ApiSuggestRequest) Query(query string) ApiSuggestRequest { r.query = &query return r } // The maximum number of suggestions to return. func (r ApiSuggestRequest) Limit(limit int32) ApiSuggestRequest { r.limit = &limit return r } // Your API key for authentication. func (r ApiSuggestRequest) ApiKey(apiKey string) ApiSuggestRequest { r.apiKey = &apiKey return r } func (r ApiSuggestRequest) Execute() (*SearchSuggestionResponse, *http.Response, error) { return r.ApiService.SuggestExecute(r) } /* Suggest Get Game Suggestions Get game suggestions based on (partial) search queries. For example, the query 'gt' will return games like GTA. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiSuggestRequest */ func (a *DefaultAPIService) Suggest(ctx context.Context) ApiSuggestRequest { return ApiSuggestRequest{ ApiService: a, ctx: ctx, } } // Execute executes the request // @return SearchSuggestionResponse func (a *DefaultAPIService) SuggestExecute(r ApiSuggestRequest) (*SearchSuggestionResponse, *http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile localVarReturnValue *SearchSuggestionResponse ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultAPIService.Suggest") if err != nil { return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/games/suggestions" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.query == nil { return localVarReturnValue, nil, reportError("query is required and must be specified") } if strlen(*r.query) > 300 { return localVarReturnValue, nil, reportError("query must have less than 300 elements") } if r.limit == nil { return localVarReturnValue, nil, reportError("limit is required and must be specified") } if r.apiKey == nil { return localVarReturnValue, nil, reportError("apiKey is required and must be specified") } if strlen(*r.apiKey) > 300 { return localVarReturnValue, nil, reportError("apiKey must have less than 300 elements") } parameterAddToHeaderOrQuery(localVarQueryParams, "query", r.query, "") parameterAddToHeaderOrQuery(localVarQueryParams, "limit", r.limit, "") parameterAddToHeaderOrQuery(localVarQueryParams, "api-key", r.apiKey, "") // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["apiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarQueryParams.Add("api-key", key) } } } if r.ctx != nil { // API Key Authentication if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok { if apiKey, ok := auth["headerApiKey"]; ok { var key string if apiKey.Prefix != "" { key = apiKey.Prefix + " " + apiKey.Key } else { key = apiKey.Key } localVarHeaderParams["x-api-key"] = key } } } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarReturnValue, localVarHTTPResponse, newErr } err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := &GenericOpenAPIError{ body: localVarBody, error: err.Error(), } return localVarReturnValue, localVarHTTPResponse, newErr } return localVarReturnValue, localVarHTTPResponse, nil }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ddsky/gamebrain-api-clients'

If you have feedback or need assistance with the MCP directory API, please join our Discord server