This commit is contained in:
2025-06-02 00:07:51 +02:00
parent 20fd8e8ba4
commit c8b8e76345
24 changed files with 1083 additions and 57 deletions

View File

@@ -7,6 +7,7 @@
package proto
import (
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
@@ -322,7 +323,7 @@ var File_thumbnail_proto protoreflect.FileDescriptor
const file_thumbnail_proto_rawDesc = "" +
"\n" +
"\x0fthumbnail.proto\x12\x11thumbnail_service\"\xab\x01\n" +
"\x0fthumbnail.proto\x12\x11thumbnail_service\x1a\x1cgoogle/api/annotations.proto\"\xab\x01\n" +
"\x10ThumbnailRequest\x12!\n" +
"\ffile_content\x18\x01 \x01(\fR\vfileContent\x128\n" +
"\tfile_type\x18\x02 \x01(\x0e2\x1b.thumbnail_service.FileTypeR\bfileType\x12\x1b\n" +
@@ -345,10 +346,10 @@ const file_thumbnail_proto_rawDesc = "" +
"\x15FILE_TYPE_UNSPECIFIED\x10\x00\x12\t\n" +
"\x05IMAGE\x10\x01\x12\t\n" +
"\x05VIDEO\x10\x02\x12\a\n" +
"\x03PDF\x10\x032\xc4\x01\n" +
"\x10ThumbnailService\x12^\n" +
"\x11GenerateThumbnail\x12#.thumbnail_service.ThumbnailRequest\x1a$.thumbnail_service.ThumbnailResponse\x12P\n" +
"\aOcrFile\x12!.thumbnail_service.OCRFileRequest\x1a\".thumbnail_service.OCRFileResponseB\tZ\a./protob\x06proto3"
"\x03PDF\x10\x032\xf2\x01\n" +
"\x10ThumbnailService\x12x\n" +
"\x11GenerateThumbnail\x12#.thumbnail_service.ThumbnailRequest\x1a$.thumbnail_service.ThumbnailResponse\"\x18\x82\xd3\xe4\x93\x02\x12:\x01*\"\r/v1/thumbnail\x12d\n" +
"\aOcrFile\x12!.thumbnail_service.OCRFileRequest\x1a\".thumbnail_service.OCRFileResponse\"\x12\x82\xd3\xe4\x93\x02\f:\x01*\"\a/v1/ocrB\tZ\a./protob\x06proto3"
var (
file_thumbnail_proto_rawDescOnce sync.Once

View File

@@ -0,0 +1,217 @@
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
// source: thumbnail.proto
/*
Package proto is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
*/
package proto
import (
"context"
"errors"
"io"
"net/http"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/proto"
)
// Suppress "imported and not used" errors
var (
_ codes.Code
_ io.Reader
_ status.Status
_ = errors.New
_ = runtime.String
_ = utilities.NewDoubleArray
_ = metadata.Join
)
func request_ThumbnailService_GenerateThumbnail_0(ctx context.Context, marshaler runtime.Marshaler, client ThumbnailServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq ThumbnailRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.GenerateThumbnail(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_ThumbnailService_GenerateThumbnail_0(ctx context.Context, marshaler runtime.Marshaler, server ThumbnailServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq ThumbnailRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.GenerateThumbnail(ctx, &protoReq)
return msg, metadata, err
}
func request_ThumbnailService_OcrFile_0(ctx context.Context, marshaler runtime.Marshaler, client ThumbnailServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq OCRFileRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.OcrFile(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_ThumbnailService_OcrFile_0(ctx context.Context, marshaler runtime.Marshaler, server ThumbnailServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq OCRFileRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.OcrFile(ctx, &protoReq)
return msg, metadata, err
}
// RegisterThumbnailServiceHandlerServer registers the http handlers for service ThumbnailService to "mux".
// UnaryRPC :call ThumbnailServiceServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterThumbnailServiceHandlerFromEndpoint instead.
// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.
func RegisterThumbnailServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ThumbnailServiceServer) error {
mux.Handle(http.MethodPost, pattern_ThumbnailService_GenerateThumbnail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/thumbnail_service.ThumbnailService/GenerateThumbnail", runtime.WithHTTPPathPattern("/v1/thumbnail"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_ThumbnailService_GenerateThumbnail_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_ThumbnailService_GenerateThumbnail_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_ThumbnailService_OcrFile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/thumbnail_service.ThumbnailService/OcrFile", runtime.WithHTTPPathPattern("/v1/ocr"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_ThumbnailService_OcrFile_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_ThumbnailService_OcrFile_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
// RegisterThumbnailServiceHandlerFromEndpoint is same as RegisterThumbnailServiceHandler but
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterThumbnailServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
conn, err := grpc.NewClient(endpoint, opts...)
if err != nil {
return err
}
defer func() {
if err != nil {
if cerr := conn.Close(); cerr != nil {
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
}
return
}
go func() {
<-ctx.Done()
if cerr := conn.Close(); cerr != nil {
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
}
}()
}()
return RegisterThumbnailServiceHandler(ctx, mux, conn)
}
// RegisterThumbnailServiceHandler registers the http handlers for service ThumbnailService to "mux".
// The handlers forward requests to the grpc endpoint over "conn".
func RegisterThumbnailServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
return RegisterThumbnailServiceHandlerClient(ctx, mux, NewThumbnailServiceClient(conn))
}
// RegisterThumbnailServiceHandlerClient registers the http handlers for service ThumbnailService
// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ThumbnailServiceClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ThumbnailServiceClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "ThumbnailServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares.
func RegisterThumbnailServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ThumbnailServiceClient) error {
mux.Handle(http.MethodPost, pattern_ThumbnailService_GenerateThumbnail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/thumbnail_service.ThumbnailService/GenerateThumbnail", runtime.WithHTTPPathPattern("/v1/thumbnail"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_ThumbnailService_GenerateThumbnail_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_ThumbnailService_GenerateThumbnail_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_ThumbnailService_OcrFile_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/thumbnail_service.ThumbnailService/OcrFile", runtime.WithHTTPPathPattern("/v1/ocr"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_ThumbnailService_OcrFile_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_ThumbnailService_OcrFile_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
var (
pattern_ThumbnailService_GenerateThumbnail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "thumbnail"}, ""))
pattern_ThumbnailService_OcrFile_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1", "ocr"}, ""))
)
var (
forward_ThumbnailService_GenerateThumbnail_0 = runtime.ForwardResponseMessage
forward_ThumbnailService_OcrFile_0 = runtime.ForwardResponseMessage
)