github.com/weaviate/weaviate@v1.24.6/adapters/handlers/rest/operations/weaviate_api.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 // Code generated by go-swagger; DO NOT EDIT. 13 14 package operations 15 16 // This file was generated by the swagger tool. 17 // Editing this file might prove futile when you re-run the swagger generate command 18 19 import ( 20 "fmt" 21 "net/http" 22 "strings" 23 24 "github.com/go-openapi/errors" 25 "github.com/go-openapi/loads" 26 "github.com/go-openapi/runtime" 27 "github.com/go-openapi/runtime/middleware" 28 "github.com/go-openapi/runtime/security" 29 "github.com/go-openapi/runtime/yamlpc" 30 "github.com/go-openapi/spec" 31 "github.com/go-openapi/strfmt" 32 "github.com/go-openapi/swag" 33 34 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/backups" 35 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/batch" 36 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/classifications" 37 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/graphql" 38 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/meta" 39 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/nodes" 40 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/objects" 41 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/schema" 42 "github.com/weaviate/weaviate/adapters/handlers/rest/operations/well_known" 43 "github.com/weaviate/weaviate/entities/models" 44 ) 45 46 // NewWeaviateAPI creates a new Weaviate instance 47 func NewWeaviateAPI(spec *loads.Document) *WeaviateAPI { 48 return &WeaviateAPI{ 49 handlers: make(map[string]map[string]http.Handler), 50 formats: strfmt.Default, 51 defaultConsumes: "application/json", 52 defaultProduces: "application/json", 53 customConsumers: make(map[string]runtime.Consumer), 54 customProducers: make(map[string]runtime.Producer), 55 PreServerShutdown: func() {}, 56 ServerShutdown: func() {}, 57 spec: spec, 58 useSwaggerUI: false, 59 ServeError: errors.ServeError, 60 BasicAuthenticator: security.BasicAuth, 61 APIKeyAuthenticator: security.APIKeyAuth, 62 BearerAuthenticator: security.BearerAuth, 63 64 JSONConsumer: runtime.JSONConsumer(), 65 YamlConsumer: yamlpc.YAMLConsumer(), 66 67 JSONProducer: runtime.JSONProducer(), 68 69 WellKnownGetWellKnownOpenidConfigurationHandler: well_known.GetWellKnownOpenidConfigurationHandlerFunc(func(params well_known.GetWellKnownOpenidConfigurationParams, principal *models.Principal) middleware.Responder { 70 return middleware.NotImplemented("operation well_known.GetWellKnownOpenidConfiguration has not yet been implemented") 71 }), 72 BackupsBackupsCreateHandler: backups.BackupsCreateHandlerFunc(func(params backups.BackupsCreateParams, principal *models.Principal) middleware.Responder { 73 return middleware.NotImplemented("operation backups.BackupsCreate has not yet been implemented") 74 }), 75 BackupsBackupsCreateStatusHandler: backups.BackupsCreateStatusHandlerFunc(func(params backups.BackupsCreateStatusParams, principal *models.Principal) middleware.Responder { 76 return middleware.NotImplemented("operation backups.BackupsCreateStatus has not yet been implemented") 77 }), 78 BackupsBackupsRestoreHandler: backups.BackupsRestoreHandlerFunc(func(params backups.BackupsRestoreParams, principal *models.Principal) middleware.Responder { 79 return middleware.NotImplemented("operation backups.BackupsRestore has not yet been implemented") 80 }), 81 BackupsBackupsRestoreStatusHandler: backups.BackupsRestoreStatusHandlerFunc(func(params backups.BackupsRestoreStatusParams, principal *models.Principal) middleware.Responder { 82 return middleware.NotImplemented("operation backups.BackupsRestoreStatus has not yet been implemented") 83 }), 84 BatchBatchObjectsCreateHandler: batch.BatchObjectsCreateHandlerFunc(func(params batch.BatchObjectsCreateParams, principal *models.Principal) middleware.Responder { 85 return middleware.NotImplemented("operation batch.BatchObjectsCreate has not yet been implemented") 86 }), 87 BatchBatchObjectsDeleteHandler: batch.BatchObjectsDeleteHandlerFunc(func(params batch.BatchObjectsDeleteParams, principal *models.Principal) middleware.Responder { 88 return middleware.NotImplemented("operation batch.BatchObjectsDelete has not yet been implemented") 89 }), 90 BatchBatchReferencesCreateHandler: batch.BatchReferencesCreateHandlerFunc(func(params batch.BatchReferencesCreateParams, principal *models.Principal) middleware.Responder { 91 return middleware.NotImplemented("operation batch.BatchReferencesCreate has not yet been implemented") 92 }), 93 ClassificationsClassificationsGetHandler: classifications.ClassificationsGetHandlerFunc(func(params classifications.ClassificationsGetParams, principal *models.Principal) middleware.Responder { 94 return middleware.NotImplemented("operation classifications.ClassificationsGet has not yet been implemented") 95 }), 96 ClassificationsClassificationsPostHandler: classifications.ClassificationsPostHandlerFunc(func(params classifications.ClassificationsPostParams, principal *models.Principal) middleware.Responder { 97 return middleware.NotImplemented("operation classifications.ClassificationsPost has not yet been implemented") 98 }), 99 GraphqlGraphqlBatchHandler: graphql.GraphqlBatchHandlerFunc(func(params graphql.GraphqlBatchParams, principal *models.Principal) middleware.Responder { 100 return middleware.NotImplemented("operation graphql.GraphqlBatch has not yet been implemented") 101 }), 102 GraphqlGraphqlPostHandler: graphql.GraphqlPostHandlerFunc(func(params graphql.GraphqlPostParams, principal *models.Principal) middleware.Responder { 103 return middleware.NotImplemented("operation graphql.GraphqlPost has not yet been implemented") 104 }), 105 MetaMetaGetHandler: meta.MetaGetHandlerFunc(func(params meta.MetaGetParams, principal *models.Principal) middleware.Responder { 106 return middleware.NotImplemented("operation meta.MetaGet has not yet been implemented") 107 }), 108 NodesNodesGetHandler: nodes.NodesGetHandlerFunc(func(params nodes.NodesGetParams, principal *models.Principal) middleware.Responder { 109 return middleware.NotImplemented("operation nodes.NodesGet has not yet been implemented") 110 }), 111 NodesNodesGetClassHandler: nodes.NodesGetClassHandlerFunc(func(params nodes.NodesGetClassParams, principal *models.Principal) middleware.Responder { 112 return middleware.NotImplemented("operation nodes.NodesGetClass has not yet been implemented") 113 }), 114 ObjectsObjectsClassDeleteHandler: objects.ObjectsClassDeleteHandlerFunc(func(params objects.ObjectsClassDeleteParams, principal *models.Principal) middleware.Responder { 115 return middleware.NotImplemented("operation objects.ObjectsClassDelete has not yet been implemented") 116 }), 117 ObjectsObjectsClassGetHandler: objects.ObjectsClassGetHandlerFunc(func(params objects.ObjectsClassGetParams, principal *models.Principal) middleware.Responder { 118 return middleware.NotImplemented("operation objects.ObjectsClassGet has not yet been implemented") 119 }), 120 ObjectsObjectsClassHeadHandler: objects.ObjectsClassHeadHandlerFunc(func(params objects.ObjectsClassHeadParams, principal *models.Principal) middleware.Responder { 121 return middleware.NotImplemented("operation objects.ObjectsClassHead has not yet been implemented") 122 }), 123 ObjectsObjectsClassPatchHandler: objects.ObjectsClassPatchHandlerFunc(func(params objects.ObjectsClassPatchParams, principal *models.Principal) middleware.Responder { 124 return middleware.NotImplemented("operation objects.ObjectsClassPatch has not yet been implemented") 125 }), 126 ObjectsObjectsClassPutHandler: objects.ObjectsClassPutHandlerFunc(func(params objects.ObjectsClassPutParams, principal *models.Principal) middleware.Responder { 127 return middleware.NotImplemented("operation objects.ObjectsClassPut has not yet been implemented") 128 }), 129 ObjectsObjectsClassReferencesCreateHandler: objects.ObjectsClassReferencesCreateHandlerFunc(func(params objects.ObjectsClassReferencesCreateParams, principal *models.Principal) middleware.Responder { 130 return middleware.NotImplemented("operation objects.ObjectsClassReferencesCreate has not yet been implemented") 131 }), 132 ObjectsObjectsClassReferencesDeleteHandler: objects.ObjectsClassReferencesDeleteHandlerFunc(func(params objects.ObjectsClassReferencesDeleteParams, principal *models.Principal) middleware.Responder { 133 return middleware.NotImplemented("operation objects.ObjectsClassReferencesDelete has not yet been implemented") 134 }), 135 ObjectsObjectsClassReferencesPutHandler: objects.ObjectsClassReferencesPutHandlerFunc(func(params objects.ObjectsClassReferencesPutParams, principal *models.Principal) middleware.Responder { 136 return middleware.NotImplemented("operation objects.ObjectsClassReferencesPut has not yet been implemented") 137 }), 138 ObjectsObjectsCreateHandler: objects.ObjectsCreateHandlerFunc(func(params objects.ObjectsCreateParams, principal *models.Principal) middleware.Responder { 139 return middleware.NotImplemented("operation objects.ObjectsCreate has not yet been implemented") 140 }), 141 ObjectsObjectsDeleteHandler: objects.ObjectsDeleteHandlerFunc(func(params objects.ObjectsDeleteParams, principal *models.Principal) middleware.Responder { 142 return middleware.NotImplemented("operation objects.ObjectsDelete has not yet been implemented") 143 }), 144 ObjectsObjectsGetHandler: objects.ObjectsGetHandlerFunc(func(params objects.ObjectsGetParams, principal *models.Principal) middleware.Responder { 145 return middleware.NotImplemented("operation objects.ObjectsGet has not yet been implemented") 146 }), 147 ObjectsObjectsHeadHandler: objects.ObjectsHeadHandlerFunc(func(params objects.ObjectsHeadParams, principal *models.Principal) middleware.Responder { 148 return middleware.NotImplemented("operation objects.ObjectsHead has not yet been implemented") 149 }), 150 ObjectsObjectsListHandler: objects.ObjectsListHandlerFunc(func(params objects.ObjectsListParams, principal *models.Principal) middleware.Responder { 151 return middleware.NotImplemented("operation objects.ObjectsList has not yet been implemented") 152 }), 153 ObjectsObjectsPatchHandler: objects.ObjectsPatchHandlerFunc(func(params objects.ObjectsPatchParams, principal *models.Principal) middleware.Responder { 154 return middleware.NotImplemented("operation objects.ObjectsPatch has not yet been implemented") 155 }), 156 ObjectsObjectsReferencesCreateHandler: objects.ObjectsReferencesCreateHandlerFunc(func(params objects.ObjectsReferencesCreateParams, principal *models.Principal) middleware.Responder { 157 return middleware.NotImplemented("operation objects.ObjectsReferencesCreate has not yet been implemented") 158 }), 159 ObjectsObjectsReferencesDeleteHandler: objects.ObjectsReferencesDeleteHandlerFunc(func(params objects.ObjectsReferencesDeleteParams, principal *models.Principal) middleware.Responder { 160 return middleware.NotImplemented("operation objects.ObjectsReferencesDelete has not yet been implemented") 161 }), 162 ObjectsObjectsReferencesUpdateHandler: objects.ObjectsReferencesUpdateHandlerFunc(func(params objects.ObjectsReferencesUpdateParams, principal *models.Principal) middleware.Responder { 163 return middleware.NotImplemented("operation objects.ObjectsReferencesUpdate has not yet been implemented") 164 }), 165 ObjectsObjectsUpdateHandler: objects.ObjectsUpdateHandlerFunc(func(params objects.ObjectsUpdateParams, principal *models.Principal) middleware.Responder { 166 return middleware.NotImplemented("operation objects.ObjectsUpdate has not yet been implemented") 167 }), 168 ObjectsObjectsValidateHandler: objects.ObjectsValidateHandlerFunc(func(params objects.ObjectsValidateParams, principal *models.Principal) middleware.Responder { 169 return middleware.NotImplemented("operation objects.ObjectsValidate has not yet been implemented") 170 }), 171 SchemaSchemaClusterStatusHandler: schema.SchemaClusterStatusHandlerFunc(func(params schema.SchemaClusterStatusParams, principal *models.Principal) middleware.Responder { 172 return middleware.NotImplemented("operation schema.SchemaClusterStatus has not yet been implemented") 173 }), 174 SchemaSchemaDumpHandler: schema.SchemaDumpHandlerFunc(func(params schema.SchemaDumpParams, principal *models.Principal) middleware.Responder { 175 return middleware.NotImplemented("operation schema.SchemaDump has not yet been implemented") 176 }), 177 SchemaSchemaObjectsCreateHandler: schema.SchemaObjectsCreateHandlerFunc(func(params schema.SchemaObjectsCreateParams, principal *models.Principal) middleware.Responder { 178 return middleware.NotImplemented("operation schema.SchemaObjectsCreate has not yet been implemented") 179 }), 180 SchemaSchemaObjectsDeleteHandler: schema.SchemaObjectsDeleteHandlerFunc(func(params schema.SchemaObjectsDeleteParams, principal *models.Principal) middleware.Responder { 181 return middleware.NotImplemented("operation schema.SchemaObjectsDelete has not yet been implemented") 182 }), 183 SchemaSchemaObjectsGetHandler: schema.SchemaObjectsGetHandlerFunc(func(params schema.SchemaObjectsGetParams, principal *models.Principal) middleware.Responder { 184 return middleware.NotImplemented("operation schema.SchemaObjectsGet has not yet been implemented") 185 }), 186 SchemaSchemaObjectsPropertiesAddHandler: schema.SchemaObjectsPropertiesAddHandlerFunc(func(params schema.SchemaObjectsPropertiesAddParams, principal *models.Principal) middleware.Responder { 187 return middleware.NotImplemented("operation schema.SchemaObjectsPropertiesAdd has not yet been implemented") 188 }), 189 SchemaSchemaObjectsShardsGetHandler: schema.SchemaObjectsShardsGetHandlerFunc(func(params schema.SchemaObjectsShardsGetParams, principal *models.Principal) middleware.Responder { 190 return middleware.NotImplemented("operation schema.SchemaObjectsShardsGet has not yet been implemented") 191 }), 192 SchemaSchemaObjectsShardsUpdateHandler: schema.SchemaObjectsShardsUpdateHandlerFunc(func(params schema.SchemaObjectsShardsUpdateParams, principal *models.Principal) middleware.Responder { 193 return middleware.NotImplemented("operation schema.SchemaObjectsShardsUpdate has not yet been implemented") 194 }), 195 SchemaSchemaObjectsUpdateHandler: schema.SchemaObjectsUpdateHandlerFunc(func(params schema.SchemaObjectsUpdateParams, principal *models.Principal) middleware.Responder { 196 return middleware.NotImplemented("operation schema.SchemaObjectsUpdate has not yet been implemented") 197 }), 198 SchemaTenantsCreateHandler: schema.TenantsCreateHandlerFunc(func(params schema.TenantsCreateParams, principal *models.Principal) middleware.Responder { 199 return middleware.NotImplemented("operation schema.TenantsCreate has not yet been implemented") 200 }), 201 SchemaTenantsDeleteHandler: schema.TenantsDeleteHandlerFunc(func(params schema.TenantsDeleteParams, principal *models.Principal) middleware.Responder { 202 return middleware.NotImplemented("operation schema.TenantsDelete has not yet been implemented") 203 }), 204 SchemaTenantsGetHandler: schema.TenantsGetHandlerFunc(func(params schema.TenantsGetParams, principal *models.Principal) middleware.Responder { 205 return middleware.NotImplemented("operation schema.TenantsGet has not yet been implemented") 206 }), 207 SchemaTenantsUpdateHandler: schema.TenantsUpdateHandlerFunc(func(params schema.TenantsUpdateParams, principal *models.Principal) middleware.Responder { 208 return middleware.NotImplemented("operation schema.TenantsUpdate has not yet been implemented") 209 }), 210 WeaviateRootHandler: WeaviateRootHandlerFunc(func(params WeaviateRootParams, principal *models.Principal) middleware.Responder { 211 return middleware.NotImplemented("operation WeaviateRoot has not yet been implemented") 212 }), 213 WeaviateWellknownLivenessHandler: WeaviateWellknownLivenessHandlerFunc(func(params WeaviateWellknownLivenessParams, principal *models.Principal) middleware.Responder { 214 return middleware.NotImplemented("operation WeaviateWellknownLiveness has not yet been implemented") 215 }), 216 WeaviateWellknownReadinessHandler: WeaviateWellknownReadinessHandlerFunc(func(params WeaviateWellknownReadinessParams, principal *models.Principal) middleware.Responder { 217 return middleware.NotImplemented("operation WeaviateWellknownReadiness has not yet been implemented") 218 }), 219 220 OidcAuth: func(token string, scopes []string) (*models.Principal, error) { 221 return nil, errors.NotImplemented("oauth2 bearer auth (oidc) has not yet been implemented") 222 }, 223 // default authorizer is authorized meaning no requests are blocked 224 APIAuthorizer: security.Authorized(), 225 } 226 } 227 228 /*WeaviateAPI Cloud-native, modular vector database */ 229 type WeaviateAPI struct { 230 spec *loads.Document 231 context *middleware.Context 232 handlers map[string]map[string]http.Handler 233 formats strfmt.Registry 234 customConsumers map[string]runtime.Consumer 235 customProducers map[string]runtime.Producer 236 defaultConsumes string 237 defaultProduces string 238 Middleware func(middleware.Builder) http.Handler 239 useSwaggerUI bool 240 241 // BasicAuthenticator generates a runtime.Authenticator from the supplied basic auth function. 242 // It has a default implementation in the security package, however you can replace it for your particular usage. 243 BasicAuthenticator func(security.UserPassAuthentication) runtime.Authenticator 244 245 // APIKeyAuthenticator generates a runtime.Authenticator from the supplied token auth function. 246 // It has a default implementation in the security package, however you can replace it for your particular usage. 247 APIKeyAuthenticator func(string, string, security.TokenAuthentication) runtime.Authenticator 248 249 // BearerAuthenticator generates a runtime.Authenticator from the supplied bearer token auth function. 250 // It has a default implementation in the security package, however you can replace it for your particular usage. 251 BearerAuthenticator func(string, security.ScopedTokenAuthentication) runtime.Authenticator 252 253 // JSONConsumer registers a consumer for the following mime types: 254 // - application/json 255 JSONConsumer runtime.Consumer 256 // YamlConsumer registers a consumer for the following mime types: 257 // - application/yaml 258 YamlConsumer runtime.Consumer 259 260 // JSONProducer registers a producer for the following mime types: 261 // - application/json 262 JSONProducer runtime.Producer 263 264 // OidcAuth registers a function that takes an access token and a collection of required scopes and returns a principal 265 // it performs authentication based on an oauth2 bearer token provided in the request 266 OidcAuth func(string, []string) (*models.Principal, error) 267 268 // APIAuthorizer provides access control (ACL/RBAC/ABAC) by providing access to the request and authenticated principal 269 APIAuthorizer runtime.Authorizer 270 271 // WellKnownGetWellKnownOpenidConfigurationHandler sets the operation handler for the get well known openid configuration operation 272 WellKnownGetWellKnownOpenidConfigurationHandler well_known.GetWellKnownOpenidConfigurationHandler 273 // BackupsBackupsCreateHandler sets the operation handler for the backups create operation 274 BackupsBackupsCreateHandler backups.BackupsCreateHandler 275 // BackupsBackupsCreateStatusHandler sets the operation handler for the backups create status operation 276 BackupsBackupsCreateStatusHandler backups.BackupsCreateStatusHandler 277 // BackupsBackupsRestoreHandler sets the operation handler for the backups restore operation 278 BackupsBackupsRestoreHandler backups.BackupsRestoreHandler 279 // BackupsBackupsRestoreStatusHandler sets the operation handler for the backups restore status operation 280 BackupsBackupsRestoreStatusHandler backups.BackupsRestoreStatusHandler 281 // BatchBatchObjectsCreateHandler sets the operation handler for the batch objects create operation 282 BatchBatchObjectsCreateHandler batch.BatchObjectsCreateHandler 283 // BatchBatchObjectsDeleteHandler sets the operation handler for the batch objects delete operation 284 BatchBatchObjectsDeleteHandler batch.BatchObjectsDeleteHandler 285 // BatchBatchReferencesCreateHandler sets the operation handler for the batch references create operation 286 BatchBatchReferencesCreateHandler batch.BatchReferencesCreateHandler 287 // ClassificationsClassificationsGetHandler sets the operation handler for the classifications get operation 288 ClassificationsClassificationsGetHandler classifications.ClassificationsGetHandler 289 // ClassificationsClassificationsPostHandler sets the operation handler for the classifications post operation 290 ClassificationsClassificationsPostHandler classifications.ClassificationsPostHandler 291 // GraphqlGraphqlBatchHandler sets the operation handler for the graphql batch operation 292 GraphqlGraphqlBatchHandler graphql.GraphqlBatchHandler 293 // GraphqlGraphqlPostHandler sets the operation handler for the graphql post operation 294 GraphqlGraphqlPostHandler graphql.GraphqlPostHandler 295 // MetaMetaGetHandler sets the operation handler for the meta get operation 296 MetaMetaGetHandler meta.MetaGetHandler 297 // NodesNodesGetHandler sets the operation handler for the nodes get operation 298 NodesNodesGetHandler nodes.NodesGetHandler 299 // NodesNodesGetClassHandler sets the operation handler for the nodes get class operation 300 NodesNodesGetClassHandler nodes.NodesGetClassHandler 301 // ObjectsObjectsClassDeleteHandler sets the operation handler for the objects class delete operation 302 ObjectsObjectsClassDeleteHandler objects.ObjectsClassDeleteHandler 303 // ObjectsObjectsClassGetHandler sets the operation handler for the objects class get operation 304 ObjectsObjectsClassGetHandler objects.ObjectsClassGetHandler 305 // ObjectsObjectsClassHeadHandler sets the operation handler for the objects class head operation 306 ObjectsObjectsClassHeadHandler objects.ObjectsClassHeadHandler 307 // ObjectsObjectsClassPatchHandler sets the operation handler for the objects class patch operation 308 ObjectsObjectsClassPatchHandler objects.ObjectsClassPatchHandler 309 // ObjectsObjectsClassPutHandler sets the operation handler for the objects class put operation 310 ObjectsObjectsClassPutHandler objects.ObjectsClassPutHandler 311 // ObjectsObjectsClassReferencesCreateHandler sets the operation handler for the objects class references create operation 312 ObjectsObjectsClassReferencesCreateHandler objects.ObjectsClassReferencesCreateHandler 313 // ObjectsObjectsClassReferencesDeleteHandler sets the operation handler for the objects class references delete operation 314 ObjectsObjectsClassReferencesDeleteHandler objects.ObjectsClassReferencesDeleteHandler 315 // ObjectsObjectsClassReferencesPutHandler sets the operation handler for the objects class references put operation 316 ObjectsObjectsClassReferencesPutHandler objects.ObjectsClassReferencesPutHandler 317 // ObjectsObjectsCreateHandler sets the operation handler for the objects create operation 318 ObjectsObjectsCreateHandler objects.ObjectsCreateHandler 319 // ObjectsObjectsDeleteHandler sets the operation handler for the objects delete operation 320 ObjectsObjectsDeleteHandler objects.ObjectsDeleteHandler 321 // ObjectsObjectsGetHandler sets the operation handler for the objects get operation 322 ObjectsObjectsGetHandler objects.ObjectsGetHandler 323 // ObjectsObjectsHeadHandler sets the operation handler for the objects head operation 324 ObjectsObjectsHeadHandler objects.ObjectsHeadHandler 325 // ObjectsObjectsListHandler sets the operation handler for the objects list operation 326 ObjectsObjectsListHandler objects.ObjectsListHandler 327 // ObjectsObjectsPatchHandler sets the operation handler for the objects patch operation 328 ObjectsObjectsPatchHandler objects.ObjectsPatchHandler 329 // ObjectsObjectsReferencesCreateHandler sets the operation handler for the objects references create operation 330 ObjectsObjectsReferencesCreateHandler objects.ObjectsReferencesCreateHandler 331 // ObjectsObjectsReferencesDeleteHandler sets the operation handler for the objects references delete operation 332 ObjectsObjectsReferencesDeleteHandler objects.ObjectsReferencesDeleteHandler 333 // ObjectsObjectsReferencesUpdateHandler sets the operation handler for the objects references update operation 334 ObjectsObjectsReferencesUpdateHandler objects.ObjectsReferencesUpdateHandler 335 // ObjectsObjectsUpdateHandler sets the operation handler for the objects update operation 336 ObjectsObjectsUpdateHandler objects.ObjectsUpdateHandler 337 // ObjectsObjectsValidateHandler sets the operation handler for the objects validate operation 338 ObjectsObjectsValidateHandler objects.ObjectsValidateHandler 339 // SchemaSchemaClusterStatusHandler sets the operation handler for the schema cluster status operation 340 SchemaSchemaClusterStatusHandler schema.SchemaClusterStatusHandler 341 // SchemaSchemaDumpHandler sets the operation handler for the schema dump operation 342 SchemaSchemaDumpHandler schema.SchemaDumpHandler 343 // SchemaSchemaObjectsCreateHandler sets the operation handler for the schema objects create operation 344 SchemaSchemaObjectsCreateHandler schema.SchemaObjectsCreateHandler 345 // SchemaSchemaObjectsDeleteHandler sets the operation handler for the schema objects delete operation 346 SchemaSchemaObjectsDeleteHandler schema.SchemaObjectsDeleteHandler 347 // SchemaSchemaObjectsGetHandler sets the operation handler for the schema objects get operation 348 SchemaSchemaObjectsGetHandler schema.SchemaObjectsGetHandler 349 // SchemaSchemaObjectsPropertiesAddHandler sets the operation handler for the schema objects properties add operation 350 SchemaSchemaObjectsPropertiesAddHandler schema.SchemaObjectsPropertiesAddHandler 351 // SchemaSchemaObjectsShardsGetHandler sets the operation handler for the schema objects shards get operation 352 SchemaSchemaObjectsShardsGetHandler schema.SchemaObjectsShardsGetHandler 353 // SchemaSchemaObjectsShardsUpdateHandler sets the operation handler for the schema objects shards update operation 354 SchemaSchemaObjectsShardsUpdateHandler schema.SchemaObjectsShardsUpdateHandler 355 // SchemaSchemaObjectsUpdateHandler sets the operation handler for the schema objects update operation 356 SchemaSchemaObjectsUpdateHandler schema.SchemaObjectsUpdateHandler 357 // SchemaTenantsCreateHandler sets the operation handler for the tenants create operation 358 SchemaTenantsCreateHandler schema.TenantsCreateHandler 359 // SchemaTenantsDeleteHandler sets the operation handler for the tenants delete operation 360 SchemaTenantsDeleteHandler schema.TenantsDeleteHandler 361 // SchemaTenantsGetHandler sets the operation handler for the tenants get operation 362 SchemaTenantsGetHandler schema.TenantsGetHandler 363 // SchemaTenantsUpdateHandler sets the operation handler for the tenants update operation 364 SchemaTenantsUpdateHandler schema.TenantsUpdateHandler 365 // WeaviateRootHandler sets the operation handler for the weaviate root operation 366 WeaviateRootHandler WeaviateRootHandler 367 // WeaviateWellknownLivenessHandler sets the operation handler for the weaviate wellknown liveness operation 368 WeaviateWellknownLivenessHandler WeaviateWellknownLivenessHandler 369 // WeaviateWellknownReadinessHandler sets the operation handler for the weaviate wellknown readiness operation 370 WeaviateWellknownReadinessHandler WeaviateWellknownReadinessHandler 371 372 // ServeError is called when an error is received, there is a default handler 373 // but you can set your own with this 374 ServeError func(http.ResponseWriter, *http.Request, error) 375 376 // PreServerShutdown is called before the HTTP(S) server is shutdown 377 // This allows for custom functions to get executed before the HTTP(S) server stops accepting traffic 378 PreServerShutdown func() 379 380 // ServerShutdown is called when the HTTP(S) server is shut down and done 381 // handling all active connections and does not accept connections any more 382 ServerShutdown func() 383 384 // Custom command line argument groups with their descriptions 385 CommandLineOptionsGroups []swag.CommandLineOptionsGroup 386 387 // User defined logger function. 388 Logger func(string, ...interface{}) 389 } 390 391 // UseRedoc for documentation at /docs 392 func (o *WeaviateAPI) UseRedoc() { 393 o.useSwaggerUI = false 394 } 395 396 // UseSwaggerUI for documentation at /docs 397 func (o *WeaviateAPI) UseSwaggerUI() { 398 o.useSwaggerUI = true 399 } 400 401 // SetDefaultProduces sets the default produces media type 402 func (o *WeaviateAPI) SetDefaultProduces(mediaType string) { 403 o.defaultProduces = mediaType 404 } 405 406 // SetDefaultConsumes returns the default consumes media type 407 func (o *WeaviateAPI) SetDefaultConsumes(mediaType string) { 408 o.defaultConsumes = mediaType 409 } 410 411 // SetSpec sets a spec that will be served for the clients. 412 func (o *WeaviateAPI) SetSpec(spec *loads.Document) { 413 o.spec = spec 414 } 415 416 // DefaultProduces returns the default produces media type 417 func (o *WeaviateAPI) DefaultProduces() string { 418 return o.defaultProduces 419 } 420 421 // DefaultConsumes returns the default consumes media type 422 func (o *WeaviateAPI) DefaultConsumes() string { 423 return o.defaultConsumes 424 } 425 426 // Formats returns the registered string formats 427 func (o *WeaviateAPI) Formats() strfmt.Registry { 428 return o.formats 429 } 430 431 // RegisterFormat registers a custom format validator 432 func (o *WeaviateAPI) RegisterFormat(name string, format strfmt.Format, validator strfmt.Validator) { 433 o.formats.Add(name, format, validator) 434 } 435 436 // Validate validates the registrations in the WeaviateAPI 437 func (o *WeaviateAPI) Validate() error { 438 var unregistered []string 439 440 if o.JSONConsumer == nil { 441 unregistered = append(unregistered, "JSONConsumer") 442 } 443 if o.YamlConsumer == nil { 444 unregistered = append(unregistered, "YamlConsumer") 445 } 446 447 if o.JSONProducer == nil { 448 unregistered = append(unregistered, "JSONProducer") 449 } 450 451 if o.OidcAuth == nil { 452 unregistered = append(unregistered, "OidcAuth") 453 } 454 455 if o.WellKnownGetWellKnownOpenidConfigurationHandler == nil { 456 unregistered = append(unregistered, "well_known.GetWellKnownOpenidConfigurationHandler") 457 } 458 if o.BackupsBackupsCreateHandler == nil { 459 unregistered = append(unregistered, "backups.BackupsCreateHandler") 460 } 461 if o.BackupsBackupsCreateStatusHandler == nil { 462 unregistered = append(unregistered, "backups.BackupsCreateStatusHandler") 463 } 464 if o.BackupsBackupsRestoreHandler == nil { 465 unregistered = append(unregistered, "backups.BackupsRestoreHandler") 466 } 467 if o.BackupsBackupsRestoreStatusHandler == nil { 468 unregistered = append(unregistered, "backups.BackupsRestoreStatusHandler") 469 } 470 if o.BatchBatchObjectsCreateHandler == nil { 471 unregistered = append(unregistered, "batch.BatchObjectsCreateHandler") 472 } 473 if o.BatchBatchObjectsDeleteHandler == nil { 474 unregistered = append(unregistered, "batch.BatchObjectsDeleteHandler") 475 } 476 if o.BatchBatchReferencesCreateHandler == nil { 477 unregistered = append(unregistered, "batch.BatchReferencesCreateHandler") 478 } 479 if o.ClassificationsClassificationsGetHandler == nil { 480 unregistered = append(unregistered, "classifications.ClassificationsGetHandler") 481 } 482 if o.ClassificationsClassificationsPostHandler == nil { 483 unregistered = append(unregistered, "classifications.ClassificationsPostHandler") 484 } 485 if o.GraphqlGraphqlBatchHandler == nil { 486 unregistered = append(unregistered, "graphql.GraphqlBatchHandler") 487 } 488 if o.GraphqlGraphqlPostHandler == nil { 489 unregistered = append(unregistered, "graphql.GraphqlPostHandler") 490 } 491 if o.MetaMetaGetHandler == nil { 492 unregistered = append(unregistered, "meta.MetaGetHandler") 493 } 494 if o.NodesNodesGetHandler == nil { 495 unregistered = append(unregistered, "nodes.NodesGetHandler") 496 } 497 if o.NodesNodesGetClassHandler == nil { 498 unregistered = append(unregistered, "nodes.NodesGetClassHandler") 499 } 500 if o.ObjectsObjectsClassDeleteHandler == nil { 501 unregistered = append(unregistered, "objects.ObjectsClassDeleteHandler") 502 } 503 if o.ObjectsObjectsClassGetHandler == nil { 504 unregistered = append(unregistered, "objects.ObjectsClassGetHandler") 505 } 506 if o.ObjectsObjectsClassHeadHandler == nil { 507 unregistered = append(unregistered, "objects.ObjectsClassHeadHandler") 508 } 509 if o.ObjectsObjectsClassPatchHandler == nil { 510 unregistered = append(unregistered, "objects.ObjectsClassPatchHandler") 511 } 512 if o.ObjectsObjectsClassPutHandler == nil { 513 unregistered = append(unregistered, "objects.ObjectsClassPutHandler") 514 } 515 if o.ObjectsObjectsClassReferencesCreateHandler == nil { 516 unregistered = append(unregistered, "objects.ObjectsClassReferencesCreateHandler") 517 } 518 if o.ObjectsObjectsClassReferencesDeleteHandler == nil { 519 unregistered = append(unregistered, "objects.ObjectsClassReferencesDeleteHandler") 520 } 521 if o.ObjectsObjectsClassReferencesPutHandler == nil { 522 unregistered = append(unregistered, "objects.ObjectsClassReferencesPutHandler") 523 } 524 if o.ObjectsObjectsCreateHandler == nil { 525 unregistered = append(unregistered, "objects.ObjectsCreateHandler") 526 } 527 if o.ObjectsObjectsDeleteHandler == nil { 528 unregistered = append(unregistered, "objects.ObjectsDeleteHandler") 529 } 530 if o.ObjectsObjectsGetHandler == nil { 531 unregistered = append(unregistered, "objects.ObjectsGetHandler") 532 } 533 if o.ObjectsObjectsHeadHandler == nil { 534 unregistered = append(unregistered, "objects.ObjectsHeadHandler") 535 } 536 if o.ObjectsObjectsListHandler == nil { 537 unregistered = append(unregistered, "objects.ObjectsListHandler") 538 } 539 if o.ObjectsObjectsPatchHandler == nil { 540 unregistered = append(unregistered, "objects.ObjectsPatchHandler") 541 } 542 if o.ObjectsObjectsReferencesCreateHandler == nil { 543 unregistered = append(unregistered, "objects.ObjectsReferencesCreateHandler") 544 } 545 if o.ObjectsObjectsReferencesDeleteHandler == nil { 546 unregistered = append(unregistered, "objects.ObjectsReferencesDeleteHandler") 547 } 548 if o.ObjectsObjectsReferencesUpdateHandler == nil { 549 unregistered = append(unregistered, "objects.ObjectsReferencesUpdateHandler") 550 } 551 if o.ObjectsObjectsUpdateHandler == nil { 552 unregistered = append(unregistered, "objects.ObjectsUpdateHandler") 553 } 554 if o.ObjectsObjectsValidateHandler == nil { 555 unregistered = append(unregistered, "objects.ObjectsValidateHandler") 556 } 557 if o.SchemaSchemaClusterStatusHandler == nil { 558 unregistered = append(unregistered, "schema.SchemaClusterStatusHandler") 559 } 560 if o.SchemaSchemaDumpHandler == nil { 561 unregistered = append(unregistered, "schema.SchemaDumpHandler") 562 } 563 if o.SchemaSchemaObjectsCreateHandler == nil { 564 unregistered = append(unregistered, "schema.SchemaObjectsCreateHandler") 565 } 566 if o.SchemaSchemaObjectsDeleteHandler == nil { 567 unregistered = append(unregistered, "schema.SchemaObjectsDeleteHandler") 568 } 569 if o.SchemaSchemaObjectsGetHandler == nil { 570 unregistered = append(unregistered, "schema.SchemaObjectsGetHandler") 571 } 572 if o.SchemaSchemaObjectsPropertiesAddHandler == nil { 573 unregistered = append(unregistered, "schema.SchemaObjectsPropertiesAddHandler") 574 } 575 if o.SchemaSchemaObjectsShardsGetHandler == nil { 576 unregistered = append(unregistered, "schema.SchemaObjectsShardsGetHandler") 577 } 578 if o.SchemaSchemaObjectsShardsUpdateHandler == nil { 579 unregistered = append(unregistered, "schema.SchemaObjectsShardsUpdateHandler") 580 } 581 if o.SchemaSchemaObjectsUpdateHandler == nil { 582 unregistered = append(unregistered, "schema.SchemaObjectsUpdateHandler") 583 } 584 if o.SchemaTenantsCreateHandler == nil { 585 unregistered = append(unregistered, "schema.TenantsCreateHandler") 586 } 587 if o.SchemaTenantsDeleteHandler == nil { 588 unregistered = append(unregistered, "schema.TenantsDeleteHandler") 589 } 590 if o.SchemaTenantsGetHandler == nil { 591 unregistered = append(unregistered, "schema.TenantsGetHandler") 592 } 593 if o.SchemaTenantsUpdateHandler == nil { 594 unregistered = append(unregistered, "schema.TenantsUpdateHandler") 595 } 596 if o.WeaviateRootHandler == nil { 597 unregistered = append(unregistered, "WeaviateRootHandler") 598 } 599 if o.WeaviateWellknownLivenessHandler == nil { 600 unregistered = append(unregistered, "WeaviateWellknownLivenessHandler") 601 } 602 if o.WeaviateWellknownReadinessHandler == nil { 603 unregistered = append(unregistered, "WeaviateWellknownReadinessHandler") 604 } 605 606 if len(unregistered) > 0 { 607 return fmt.Errorf("missing registration: %s", strings.Join(unregistered, ", ")) 608 } 609 610 return nil 611 } 612 613 // ServeErrorFor gets a error handler for a given operation id 614 func (o *WeaviateAPI) ServeErrorFor(operationID string) func(http.ResponseWriter, *http.Request, error) { 615 return o.ServeError 616 } 617 618 // AuthenticatorsFor gets the authenticators for the specified security schemes 619 func (o *WeaviateAPI) AuthenticatorsFor(schemes map[string]spec.SecurityScheme) map[string]runtime.Authenticator { 620 result := make(map[string]runtime.Authenticator) 621 for name := range schemes { 622 switch name { 623 case "oidc": 624 result[name] = o.BearerAuthenticator(name, func(token string, scopes []string) (interface{}, error) { 625 return o.OidcAuth(token, scopes) 626 }) 627 628 } 629 } 630 return result 631 } 632 633 // Authorizer returns the registered authorizer 634 func (o *WeaviateAPI) Authorizer() runtime.Authorizer { 635 return o.APIAuthorizer 636 } 637 638 // ConsumersFor gets the consumers for the specified media types. 639 // MIME type parameters are ignored here. 640 func (o *WeaviateAPI) ConsumersFor(mediaTypes []string) map[string]runtime.Consumer { 641 result := make(map[string]runtime.Consumer, len(mediaTypes)) 642 for _, mt := range mediaTypes { 643 switch mt { 644 case "application/json": 645 result["application/json"] = o.JSONConsumer 646 case "application/yaml": 647 result["application/yaml"] = o.YamlConsumer 648 } 649 650 if c, ok := o.customConsumers[mt]; ok { 651 result[mt] = c 652 } 653 } 654 return result 655 } 656 657 // ProducersFor gets the producers for the specified media types. 658 // MIME type parameters are ignored here. 659 func (o *WeaviateAPI) ProducersFor(mediaTypes []string) map[string]runtime.Producer { 660 result := make(map[string]runtime.Producer, len(mediaTypes)) 661 for _, mt := range mediaTypes { 662 switch mt { 663 case "application/json": 664 result["application/json"] = o.JSONProducer 665 } 666 667 if p, ok := o.customProducers[mt]; ok { 668 result[mt] = p 669 } 670 } 671 return result 672 } 673 674 // HandlerFor gets a http.Handler for the provided operation method and path 675 func (o *WeaviateAPI) HandlerFor(method, path string) (http.Handler, bool) { 676 if o.handlers == nil { 677 return nil, false 678 } 679 um := strings.ToUpper(method) 680 if _, ok := o.handlers[um]; !ok { 681 return nil, false 682 } 683 if path == "/" { 684 path = "" 685 } 686 h, ok := o.handlers[um][path] 687 return h, ok 688 } 689 690 // Context returns the middleware context for the weaviate API 691 func (o *WeaviateAPI) Context() *middleware.Context { 692 if o.context == nil { 693 o.context = middleware.NewRoutableContext(o.spec, o, nil) 694 } 695 696 return o.context 697 } 698 699 func (o *WeaviateAPI) initHandlerCache() { 700 o.Context() // don't care about the result, just that the initialization happened 701 if o.handlers == nil { 702 o.handlers = make(map[string]map[string]http.Handler) 703 } 704 705 if o.handlers["GET"] == nil { 706 o.handlers["GET"] = make(map[string]http.Handler) 707 } 708 o.handlers["GET"]["/.well-known/openid-configuration"] = well_known.NewGetWellKnownOpenidConfiguration(o.context, o.WellKnownGetWellKnownOpenidConfigurationHandler) 709 if o.handlers["POST"] == nil { 710 o.handlers["POST"] = make(map[string]http.Handler) 711 } 712 o.handlers["POST"]["/backups/{backend}"] = backups.NewBackupsCreate(o.context, o.BackupsBackupsCreateHandler) 713 if o.handlers["GET"] == nil { 714 o.handlers["GET"] = make(map[string]http.Handler) 715 } 716 o.handlers["GET"]["/backups/{backend}/{id}"] = backups.NewBackupsCreateStatus(o.context, o.BackupsBackupsCreateStatusHandler) 717 if o.handlers["POST"] == nil { 718 o.handlers["POST"] = make(map[string]http.Handler) 719 } 720 o.handlers["POST"]["/backups/{backend}/{id}/restore"] = backups.NewBackupsRestore(o.context, o.BackupsBackupsRestoreHandler) 721 if o.handlers["GET"] == nil { 722 o.handlers["GET"] = make(map[string]http.Handler) 723 } 724 o.handlers["GET"]["/backups/{backend}/{id}/restore"] = backups.NewBackupsRestoreStatus(o.context, o.BackupsBackupsRestoreStatusHandler) 725 if o.handlers["POST"] == nil { 726 o.handlers["POST"] = make(map[string]http.Handler) 727 } 728 o.handlers["POST"]["/batch/objects"] = batch.NewBatchObjectsCreate(o.context, o.BatchBatchObjectsCreateHandler) 729 if o.handlers["DELETE"] == nil { 730 o.handlers["DELETE"] = make(map[string]http.Handler) 731 } 732 o.handlers["DELETE"]["/batch/objects"] = batch.NewBatchObjectsDelete(o.context, o.BatchBatchObjectsDeleteHandler) 733 if o.handlers["POST"] == nil { 734 o.handlers["POST"] = make(map[string]http.Handler) 735 } 736 o.handlers["POST"]["/batch/references"] = batch.NewBatchReferencesCreate(o.context, o.BatchBatchReferencesCreateHandler) 737 if o.handlers["GET"] == nil { 738 o.handlers["GET"] = make(map[string]http.Handler) 739 } 740 o.handlers["GET"]["/classifications/{id}"] = classifications.NewClassificationsGet(o.context, o.ClassificationsClassificationsGetHandler) 741 if o.handlers["POST"] == nil { 742 o.handlers["POST"] = make(map[string]http.Handler) 743 } 744 o.handlers["POST"]["/classifications"] = classifications.NewClassificationsPost(o.context, o.ClassificationsClassificationsPostHandler) 745 if o.handlers["POST"] == nil { 746 o.handlers["POST"] = make(map[string]http.Handler) 747 } 748 o.handlers["POST"]["/graphql/batch"] = graphql.NewGraphqlBatch(o.context, o.GraphqlGraphqlBatchHandler) 749 if o.handlers["POST"] == nil { 750 o.handlers["POST"] = make(map[string]http.Handler) 751 } 752 o.handlers["POST"]["/graphql"] = graphql.NewGraphqlPost(o.context, o.GraphqlGraphqlPostHandler) 753 if o.handlers["GET"] == nil { 754 o.handlers["GET"] = make(map[string]http.Handler) 755 } 756 o.handlers["GET"]["/meta"] = meta.NewMetaGet(o.context, o.MetaMetaGetHandler) 757 if o.handlers["GET"] == nil { 758 o.handlers["GET"] = make(map[string]http.Handler) 759 } 760 o.handlers["GET"]["/nodes"] = nodes.NewNodesGet(o.context, o.NodesNodesGetHandler) 761 if o.handlers["GET"] == nil { 762 o.handlers["GET"] = make(map[string]http.Handler) 763 } 764 o.handlers["GET"]["/nodes/{className}"] = nodes.NewNodesGetClass(o.context, o.NodesNodesGetClassHandler) 765 if o.handlers["DELETE"] == nil { 766 o.handlers["DELETE"] = make(map[string]http.Handler) 767 } 768 o.handlers["DELETE"]["/objects/{className}/{id}"] = objects.NewObjectsClassDelete(o.context, o.ObjectsObjectsClassDeleteHandler) 769 if o.handlers["GET"] == nil { 770 o.handlers["GET"] = make(map[string]http.Handler) 771 } 772 o.handlers["GET"]["/objects/{className}/{id}"] = objects.NewObjectsClassGet(o.context, o.ObjectsObjectsClassGetHandler) 773 if o.handlers["HEAD"] == nil { 774 o.handlers["HEAD"] = make(map[string]http.Handler) 775 } 776 o.handlers["HEAD"]["/objects/{className}/{id}"] = objects.NewObjectsClassHead(o.context, o.ObjectsObjectsClassHeadHandler) 777 if o.handlers["PATCH"] == nil { 778 o.handlers["PATCH"] = make(map[string]http.Handler) 779 } 780 o.handlers["PATCH"]["/objects/{className}/{id}"] = objects.NewObjectsClassPatch(o.context, o.ObjectsObjectsClassPatchHandler) 781 if o.handlers["PUT"] == nil { 782 o.handlers["PUT"] = make(map[string]http.Handler) 783 } 784 o.handlers["PUT"]["/objects/{className}/{id}"] = objects.NewObjectsClassPut(o.context, o.ObjectsObjectsClassPutHandler) 785 if o.handlers["POST"] == nil { 786 o.handlers["POST"] = make(map[string]http.Handler) 787 } 788 o.handlers["POST"]["/objects/{className}/{id}/references/{propertyName}"] = objects.NewObjectsClassReferencesCreate(o.context, o.ObjectsObjectsClassReferencesCreateHandler) 789 if o.handlers["DELETE"] == nil { 790 o.handlers["DELETE"] = make(map[string]http.Handler) 791 } 792 o.handlers["DELETE"]["/objects/{className}/{id}/references/{propertyName}"] = objects.NewObjectsClassReferencesDelete(o.context, o.ObjectsObjectsClassReferencesDeleteHandler) 793 if o.handlers["PUT"] == nil { 794 o.handlers["PUT"] = make(map[string]http.Handler) 795 } 796 o.handlers["PUT"]["/objects/{className}/{id}/references/{propertyName}"] = objects.NewObjectsClassReferencesPut(o.context, o.ObjectsObjectsClassReferencesPutHandler) 797 if o.handlers["POST"] == nil { 798 o.handlers["POST"] = make(map[string]http.Handler) 799 } 800 o.handlers["POST"]["/objects"] = objects.NewObjectsCreate(o.context, o.ObjectsObjectsCreateHandler) 801 if o.handlers["DELETE"] == nil { 802 o.handlers["DELETE"] = make(map[string]http.Handler) 803 } 804 o.handlers["DELETE"]["/objects/{id}"] = objects.NewObjectsDelete(o.context, o.ObjectsObjectsDeleteHandler) 805 if o.handlers["GET"] == nil { 806 o.handlers["GET"] = make(map[string]http.Handler) 807 } 808 o.handlers["GET"]["/objects/{id}"] = objects.NewObjectsGet(o.context, o.ObjectsObjectsGetHandler) 809 if o.handlers["HEAD"] == nil { 810 o.handlers["HEAD"] = make(map[string]http.Handler) 811 } 812 o.handlers["HEAD"]["/objects/{id}"] = objects.NewObjectsHead(o.context, o.ObjectsObjectsHeadHandler) 813 if o.handlers["GET"] == nil { 814 o.handlers["GET"] = make(map[string]http.Handler) 815 } 816 o.handlers["GET"]["/objects"] = objects.NewObjectsList(o.context, o.ObjectsObjectsListHandler) 817 if o.handlers["PATCH"] == nil { 818 o.handlers["PATCH"] = make(map[string]http.Handler) 819 } 820 o.handlers["PATCH"]["/objects/{id}"] = objects.NewObjectsPatch(o.context, o.ObjectsObjectsPatchHandler) 821 if o.handlers["POST"] == nil { 822 o.handlers["POST"] = make(map[string]http.Handler) 823 } 824 o.handlers["POST"]["/objects/{id}/references/{propertyName}"] = objects.NewObjectsReferencesCreate(o.context, o.ObjectsObjectsReferencesCreateHandler) 825 if o.handlers["DELETE"] == nil { 826 o.handlers["DELETE"] = make(map[string]http.Handler) 827 } 828 o.handlers["DELETE"]["/objects/{id}/references/{propertyName}"] = objects.NewObjectsReferencesDelete(o.context, o.ObjectsObjectsReferencesDeleteHandler) 829 if o.handlers["PUT"] == nil { 830 o.handlers["PUT"] = make(map[string]http.Handler) 831 } 832 o.handlers["PUT"]["/objects/{id}/references/{propertyName}"] = objects.NewObjectsReferencesUpdate(o.context, o.ObjectsObjectsReferencesUpdateHandler) 833 if o.handlers["PUT"] == nil { 834 o.handlers["PUT"] = make(map[string]http.Handler) 835 } 836 o.handlers["PUT"]["/objects/{id}"] = objects.NewObjectsUpdate(o.context, o.ObjectsObjectsUpdateHandler) 837 if o.handlers["POST"] == nil { 838 o.handlers["POST"] = make(map[string]http.Handler) 839 } 840 o.handlers["POST"]["/objects/validate"] = objects.NewObjectsValidate(o.context, o.ObjectsObjectsValidateHandler) 841 if o.handlers["GET"] == nil { 842 o.handlers["GET"] = make(map[string]http.Handler) 843 } 844 o.handlers["GET"]["/schema/cluster-status"] = schema.NewSchemaClusterStatus(o.context, o.SchemaSchemaClusterStatusHandler) 845 if o.handlers["GET"] == nil { 846 o.handlers["GET"] = make(map[string]http.Handler) 847 } 848 o.handlers["GET"]["/schema"] = schema.NewSchemaDump(o.context, o.SchemaSchemaDumpHandler) 849 if o.handlers["POST"] == nil { 850 o.handlers["POST"] = make(map[string]http.Handler) 851 } 852 o.handlers["POST"]["/schema"] = schema.NewSchemaObjectsCreate(o.context, o.SchemaSchemaObjectsCreateHandler) 853 if o.handlers["DELETE"] == nil { 854 o.handlers["DELETE"] = make(map[string]http.Handler) 855 } 856 o.handlers["DELETE"]["/schema/{className}"] = schema.NewSchemaObjectsDelete(o.context, o.SchemaSchemaObjectsDeleteHandler) 857 if o.handlers["GET"] == nil { 858 o.handlers["GET"] = make(map[string]http.Handler) 859 } 860 o.handlers["GET"]["/schema/{className}"] = schema.NewSchemaObjectsGet(o.context, o.SchemaSchemaObjectsGetHandler) 861 if o.handlers["POST"] == nil { 862 o.handlers["POST"] = make(map[string]http.Handler) 863 } 864 o.handlers["POST"]["/schema/{className}/properties"] = schema.NewSchemaObjectsPropertiesAdd(o.context, o.SchemaSchemaObjectsPropertiesAddHandler) 865 if o.handlers["GET"] == nil { 866 o.handlers["GET"] = make(map[string]http.Handler) 867 } 868 o.handlers["GET"]["/schema/{className}/shards"] = schema.NewSchemaObjectsShardsGet(o.context, o.SchemaSchemaObjectsShardsGetHandler) 869 if o.handlers["PUT"] == nil { 870 o.handlers["PUT"] = make(map[string]http.Handler) 871 } 872 o.handlers["PUT"]["/schema/{className}/shards/{shardName}"] = schema.NewSchemaObjectsShardsUpdate(o.context, o.SchemaSchemaObjectsShardsUpdateHandler) 873 if o.handlers["PUT"] == nil { 874 o.handlers["PUT"] = make(map[string]http.Handler) 875 } 876 o.handlers["PUT"]["/schema/{className}"] = schema.NewSchemaObjectsUpdate(o.context, o.SchemaSchemaObjectsUpdateHandler) 877 if o.handlers["POST"] == nil { 878 o.handlers["POST"] = make(map[string]http.Handler) 879 } 880 o.handlers["POST"]["/schema/{className}/tenants"] = schema.NewTenantsCreate(o.context, o.SchemaTenantsCreateHandler) 881 if o.handlers["DELETE"] == nil { 882 o.handlers["DELETE"] = make(map[string]http.Handler) 883 } 884 o.handlers["DELETE"]["/schema/{className}/tenants"] = schema.NewTenantsDelete(o.context, o.SchemaTenantsDeleteHandler) 885 if o.handlers["GET"] == nil { 886 o.handlers["GET"] = make(map[string]http.Handler) 887 } 888 o.handlers["GET"]["/schema/{className}/tenants"] = schema.NewTenantsGet(o.context, o.SchemaTenantsGetHandler) 889 if o.handlers["PUT"] == nil { 890 o.handlers["PUT"] = make(map[string]http.Handler) 891 } 892 o.handlers["PUT"]["/schema/{className}/tenants"] = schema.NewTenantsUpdate(o.context, o.SchemaTenantsUpdateHandler) 893 if o.handlers["GET"] == nil { 894 o.handlers["GET"] = make(map[string]http.Handler) 895 } 896 o.handlers["GET"][""] = NewWeaviateRoot(o.context, o.WeaviateRootHandler) 897 if o.handlers["GET"] == nil { 898 o.handlers["GET"] = make(map[string]http.Handler) 899 } 900 o.handlers["GET"]["/.well-known/live"] = NewWeaviateWellknownLiveness(o.context, o.WeaviateWellknownLivenessHandler) 901 if o.handlers["GET"] == nil { 902 o.handlers["GET"] = make(map[string]http.Handler) 903 } 904 o.handlers["GET"]["/.well-known/ready"] = NewWeaviateWellknownReadiness(o.context, o.WeaviateWellknownReadinessHandler) 905 } 906 907 // Serve creates a http handler to serve the API over HTTP 908 // can be used directly in http.ListenAndServe(":8000", api.Serve(nil)) 909 func (o *WeaviateAPI) Serve(builder middleware.Builder) http.Handler { 910 o.Init() 911 912 if o.Middleware != nil { 913 return o.Middleware(builder) 914 } 915 if o.useSwaggerUI { 916 return o.context.APIHandlerSwaggerUI(builder) 917 } 918 return o.context.APIHandler(builder) 919 } 920 921 // Init allows you to just initialize the handler cache, you can then recompose the middleware as you see fit 922 func (o *WeaviateAPI) Init() { 923 if len(o.handlers) == 0 { 924 o.initHandlerCache() 925 } 926 } 927 928 // RegisterConsumer allows you to add (or override) a consumer for a media type. 929 func (o *WeaviateAPI) RegisterConsumer(mediaType string, consumer runtime.Consumer) { 930 o.customConsumers[mediaType] = consumer 931 } 932 933 // RegisterProducer allows you to add (or override) a producer for a media type. 934 func (o *WeaviateAPI) RegisterProducer(mediaType string, producer runtime.Producer) { 935 o.customProducers[mediaType] = producer 936 } 937 938 // AddMiddlewareFor adds a http middleware to existing handler 939 func (o *WeaviateAPI) AddMiddlewareFor(method, path string, builder middleware.Builder) { 940 um := strings.ToUpper(method) 941 if path == "/" { 942 path = "" 943 } 944 o.Init() 945 if h, ok := o.handlers[um][path]; ok { 946 o.handlers[method][path] = builder(h) 947 } 948 }