347 lines
11 KiB
Go
347 lines
11 KiB
Go
// 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)
|