func()

in internal/pkg/api/openapi.gen.go [2527:2627]


func (siw *ServerInterfaceWrapper) UploadChunk(w http.ResponseWriter, r *http.Request) {
	ctx := r.Context()

	var err error

	// ------------- Path parameter "id" -------------
	var id string

	err = runtime.BindStyledParameterWithLocation("simple", false, "id", runtime.ParamLocationPath, chi.URLParam(r, "id"), &id)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err})
		return
	}

	// ------------- Path parameter "chunkNum" -------------
	var chunkNum int

	err = runtime.BindStyledParameterWithLocation("simple", false, "chunkNum", runtime.ParamLocationPath, chi.URLParam(r, "chunkNum"), &chunkNum)
	if err != nil {
		siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "chunkNum", Err: err})
		return
	}

	ctx = context.WithValue(ctx, AgentApiKeyScopes, []string{})

	// Parameter object where we will unmarshal all parameters from the context
	var params UploadChunkParams

	headers := r.Header

	// ------------- Required header parameter "X-Chunk-SHA2" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-Chunk-SHA2")]; found {
		var XChunkSHA2 string
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-Chunk-SHA2", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithLocation("simple", false, "X-Chunk-SHA2", runtime.ParamLocationHeader, valueList[0], &XChunkSHA2)
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-Chunk-SHA2", Err: err})
			return
		}

		params.XChunkSHA2 = XChunkSHA2

	} else {
		err := fmt.Errorf("Header parameter X-Chunk-SHA2 is required, but not found")
		siw.ErrorHandlerFunc(w, r, &RequiredHeaderError{ParamName: "X-Chunk-SHA2", Err: err})
		return
	}

	// ------------- Optional header parameter "X-Request-Id" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("X-Request-Id")]; found {
		var XRequestId RequestId
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "X-Request-Id", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithLocation("simple", false, "X-Request-Id", runtime.ParamLocationHeader, valueList[0], &XRequestId)
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "X-Request-Id", Err: err})
			return
		}

		params.XRequestId = &XRequestId

	}

	// ------------- Optional header parameter "elastic-api-version" -------------
	if valueList, found := headers[http.CanonicalHeaderKey("elastic-api-version")]; found {
		var ElasticApiVersion ApiVersion
		n := len(valueList)
		if n != 1 {
			siw.ErrorHandlerFunc(w, r, &TooManyValuesForParamError{ParamName: "elastic-api-version", Count: n})
			return
		}

		err = runtime.BindStyledParameterWithLocation("simple", false, "elastic-api-version", runtime.ParamLocationHeader, valueList[0], &ElasticApiVersion)
		if err != nil {
			siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elastic-api-version", Err: err})
			return
		}

		params.ElasticApiVersion = &ElasticApiVersion

	}

	handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		siw.Handler.UploadChunk(w, r, id, chunkNum, params)
	}))

	for _, middleware := range siw.HandlerMiddlewares {
		handler = middleware(handler)
	}

	handler.ServeHTTP(w, r.WithContext(ctx))
}