// Code generated by protoc-gen-microweb. DO NOT EDIT. // source: v0.proto package v0 import ( "bytes" "encoding/json" "net/http" "github.com/go-chi/chi/v5" "github.com/go-chi/render" "github.com/golang/protobuf/jsonpb" merrors "go-micro.dev/v4/errors" ) type webSearchProviderHandler struct { r chi.Router h SearchProviderHandler } func (h *webSearchProviderHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { h.r.ServeHTTP(w, r) } func (h *webSearchProviderHandler) Search(w http.ResponseWriter, r *http.Request) { req := &SearchRequest{} resp := &SearchResponse{} if err := json.NewDecoder(r.Body).Decode(&req); err != nil { http.Error(w, err.Error(), http.StatusPreconditionFailed) return } if err := h.h.Search( r.Context(), req, resp, ); err != nil { if merr, ok := merrors.As(err); ok && merr.Code == http.StatusNotFound { http.Error(w, err.Error(), http.StatusNotFound) } else { http.Error(w, err.Error(), http.StatusBadRequest) } return } render.Status(r, http.StatusCreated) render.JSON(w, r, resp) } func (h *webSearchProviderHandler) IndexSpace(w http.ResponseWriter, r *http.Request) { req := &IndexSpaceRequest{} resp := &IndexSpaceResponse{} if err := json.NewDecoder(r.Body).Decode(&req); err != nil { http.Error(w, err.Error(), http.StatusPreconditionFailed) return } if err := h.h.IndexSpace( r.Context(), req, resp, ); err != nil { if merr, ok := merrors.As(err); ok && merr.Code == http.StatusNotFound { http.Error(w, err.Error(), http.StatusNotFound) } else { http.Error(w, err.Error(), http.StatusBadRequest) } return } render.Status(r, http.StatusCreated) render.JSON(w, r, resp) } func RegisterSearchProviderWeb(r chi.Router, i SearchProviderHandler, middlewares ...func(http.Handler) http.Handler) { handler := &webSearchProviderHandler{ r: r, h: i, } r.MethodFunc("POST", "/api/v0/search/search", handler.Search) r.MethodFunc("POST", "/api/v0/search/index-space", handler.IndexSpace) } type webIndexProviderHandler struct { r chi.Router h IndexProviderHandler } func (h *webIndexProviderHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { h.r.ServeHTTP(w, r) } func (h *webIndexProviderHandler) Search(w http.ResponseWriter, r *http.Request) { req := &SearchIndexRequest{} resp := &SearchIndexResponse{} if err := json.NewDecoder(r.Body).Decode(&req); err != nil { http.Error(w, err.Error(), http.StatusPreconditionFailed) return } if err := h.h.Search( r.Context(), req, resp, ); err != nil { if merr, ok := merrors.As(err); ok && merr.Code == http.StatusNotFound { http.Error(w, err.Error(), http.StatusNotFound) } else { http.Error(w, err.Error(), http.StatusBadRequest) } return } render.Status(r, http.StatusCreated) render.JSON(w, r, resp) } func RegisterIndexProviderWeb(r chi.Router, i IndexProviderHandler, middlewares ...func(http.Handler) http.Handler) { handler := &webIndexProviderHandler{ r: r, h: i, } r.MethodFunc("POST", "/api/v0/search/index/search", handler.Search) } // SearchRequestJSONMarshaler describes the default jsonpb.Marshaler used by all // instances of SearchRequest. This struct is safe to replace or modify but // should not be done so concurrently. var SearchRequestJSONMarshaler = new(jsonpb.Marshaler) // MarshalJSON satisfies the encoding/json Marshaler interface. This method // uses the more correct jsonpb package to correctly marshal the message. func (m *SearchRequest) MarshalJSON() ([]byte, error) { if m == nil { return json.Marshal(nil) } buf := &bytes.Buffer{} if err := SearchRequestJSONMarshaler.Marshal(buf, m); err != nil { return nil, err } return buf.Bytes(), nil } var _ json.Marshaler = (*SearchRequest)(nil) // SearchRequestJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all // instances of SearchRequest. This struct is safe to replace or modify but // should not be done so concurrently. var SearchRequestJSONUnmarshaler = new(jsonpb.Unmarshaler) // UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method // uses the more correct jsonpb package to correctly unmarshal the message. func (m *SearchRequest) UnmarshalJSON(b []byte) error { return SearchRequestJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m) } var _ json.Unmarshaler = (*SearchRequest)(nil) // SearchResponseJSONMarshaler describes the default jsonpb.Marshaler used by all // instances of SearchResponse. This struct is safe to replace or modify but // should not be done so concurrently. var SearchResponseJSONMarshaler = new(jsonpb.Marshaler) // MarshalJSON satisfies the encoding/json Marshaler interface. This method // uses the more correct jsonpb package to correctly marshal the message. func (m *SearchResponse) MarshalJSON() ([]byte, error) { if m == nil { return json.Marshal(nil) } buf := &bytes.Buffer{} if err := SearchResponseJSONMarshaler.Marshal(buf, m); err != nil { return nil, err } return buf.Bytes(), nil } var _ json.Marshaler = (*SearchResponse)(nil) // SearchResponseJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all // instances of SearchResponse. This struct is safe to replace or modify but // should not be done so concurrently. var SearchResponseJSONUnmarshaler = new(jsonpb.Unmarshaler) // UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method // uses the more correct jsonpb package to correctly unmarshal the message. func (m *SearchResponse) UnmarshalJSON(b []byte) error { return SearchResponseJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m) } var _ json.Unmarshaler = (*SearchResponse)(nil) // SearchIndexRequestJSONMarshaler describes the default jsonpb.Marshaler used by all // instances of SearchIndexRequest. This struct is safe to replace or modify but // should not be done so concurrently. var SearchIndexRequestJSONMarshaler = new(jsonpb.Marshaler) // MarshalJSON satisfies the encoding/json Marshaler interface. This method // uses the more correct jsonpb package to correctly marshal the message. func (m *SearchIndexRequest) MarshalJSON() ([]byte, error) { if m == nil { return json.Marshal(nil) } buf := &bytes.Buffer{} if err := SearchIndexRequestJSONMarshaler.Marshal(buf, m); err != nil { return nil, err } return buf.Bytes(), nil } var _ json.Marshaler = (*SearchIndexRequest)(nil) // SearchIndexRequestJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all // instances of SearchIndexRequest. This struct is safe to replace or modify but // should not be done so concurrently. var SearchIndexRequestJSONUnmarshaler = new(jsonpb.Unmarshaler) // UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method // uses the more correct jsonpb package to correctly unmarshal the message. func (m *SearchIndexRequest) UnmarshalJSON(b []byte) error { return SearchIndexRequestJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m) } var _ json.Unmarshaler = (*SearchIndexRequest)(nil) // SearchIndexResponseJSONMarshaler describes the default jsonpb.Marshaler used by all // instances of SearchIndexResponse. This struct is safe to replace or modify but // should not be done so concurrently. var SearchIndexResponseJSONMarshaler = new(jsonpb.Marshaler) // MarshalJSON satisfies the encoding/json Marshaler interface. This method // uses the more correct jsonpb package to correctly marshal the message. func (m *SearchIndexResponse) MarshalJSON() ([]byte, error) { if m == nil { return json.Marshal(nil) } buf := &bytes.Buffer{} if err := SearchIndexResponseJSONMarshaler.Marshal(buf, m); err != nil { return nil, err } return buf.Bytes(), nil } var _ json.Marshaler = (*SearchIndexResponse)(nil) // SearchIndexResponseJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all // instances of SearchIndexResponse. This struct is safe to replace or modify but // should not be done so concurrently. var SearchIndexResponseJSONUnmarshaler = new(jsonpb.Unmarshaler) // UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method // uses the more correct jsonpb package to correctly unmarshal the message. func (m *SearchIndexResponse) UnmarshalJSON(b []byte) error { return SearchIndexResponseJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m) } var _ json.Unmarshaler = (*SearchIndexResponse)(nil) // IndexSpaceRequestJSONMarshaler describes the default jsonpb.Marshaler used by all // instances of IndexSpaceRequest. This struct is safe to replace or modify but // should not be done so concurrently. var IndexSpaceRequestJSONMarshaler = new(jsonpb.Marshaler) // MarshalJSON satisfies the encoding/json Marshaler interface. This method // uses the more correct jsonpb package to correctly marshal the message. func (m *IndexSpaceRequest) MarshalJSON() ([]byte, error) { if m == nil { return json.Marshal(nil) } buf := &bytes.Buffer{} if err := IndexSpaceRequestJSONMarshaler.Marshal(buf, m); err != nil { return nil, err } return buf.Bytes(), nil } var _ json.Marshaler = (*IndexSpaceRequest)(nil) // IndexSpaceRequestJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all // instances of IndexSpaceRequest. This struct is safe to replace or modify but // should not be done so concurrently. var IndexSpaceRequestJSONUnmarshaler = new(jsonpb.Unmarshaler) // UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method // uses the more correct jsonpb package to correctly unmarshal the message. func (m *IndexSpaceRequest) UnmarshalJSON(b []byte) error { return IndexSpaceRequestJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m) } var _ json.Unmarshaler = (*IndexSpaceRequest)(nil) // IndexSpaceResponseJSONMarshaler describes the default jsonpb.Marshaler used by all // instances of IndexSpaceResponse. This struct is safe to replace or modify but // should not be done so concurrently. var IndexSpaceResponseJSONMarshaler = new(jsonpb.Marshaler) // MarshalJSON satisfies the encoding/json Marshaler interface. This method // uses the more correct jsonpb package to correctly marshal the message. func (m *IndexSpaceResponse) MarshalJSON() ([]byte, error) { if m == nil { return json.Marshal(nil) } buf := &bytes.Buffer{} if err := IndexSpaceResponseJSONMarshaler.Marshal(buf, m); err != nil { return nil, err } return buf.Bytes(), nil } var _ json.Marshaler = (*IndexSpaceResponse)(nil) // IndexSpaceResponseJSONUnmarshaler describes the default jsonpb.Unmarshaler used by all // instances of IndexSpaceResponse. This struct is safe to replace or modify but // should not be done so concurrently. var IndexSpaceResponseJSONUnmarshaler = new(jsonpb.Unmarshaler) // UnmarshalJSON satisfies the encoding/json Unmarshaler interface. This method // uses the more correct jsonpb package to correctly unmarshal the message. func (m *IndexSpaceResponse) UnmarshalJSON(b []byte) error { return IndexSpaceResponseJSONUnmarshaler.Unmarshal(bytes.NewReader(b), m) } var _ json.Unmarshaler = (*IndexSpaceResponse)(nil)