@@ -308,27 +308,30 @@ func (s *Container) Run(
308
308
// Create the gRPC gateway mux
309
309
grpcMux := runtime .NewServeMux (muxOpts ... )
310
310
311
- if err = grpcV1 .RegisterPermissionHandler (ctx , grpcMux , conn ); err != nil {
312
- return err
313
- }
314
- if err = grpcV1 .RegisterSchemaHandler (ctx , grpcMux , conn ); err != nil {
315
- return err
316
- }
317
- if err = grpcV1 .RegisterDataHandler (ctx , grpcMux , conn ); err != nil {
318
- return err
311
+ handlers := []func (context.Context , * runtime.ServeMux , * grpc.ClientConn ) error {
312
+ grpcV1 .RegisterPermissionHandler ,
313
+ grpcV1 .RegisterSchemaHandler ,
314
+ grpcV1 .RegisterDataHandler ,
315
+ grpcV1 .RegisterBundleHandler ,
316
+ grpcV1 .RegisterTenancyHandler ,
319
317
}
320
- if err = grpcV1 . RegisterBundleHandler ( ctx , grpcMux , conn ); err != nil {
321
- return err
322
- }
323
- if err = grpcV1 . RegisterTenancyHandler ( ctx , grpcMux , conn ); err != nil {
324
- return err
318
+
319
+ for _ , handler := range handlers {
320
+ if err = handler ( ctx , grpcMux , conn ); err != nil {
321
+ return fmt . Errorf ( "failed to register handler: %w" , err )
322
+ }
325
323
}
326
324
327
325
// Create a new http.ServeMux for serving your OpenAPI file and gRPC gateway
328
326
httpMux := http .NewServeMux ()
329
327
330
328
if srv .HTTP .ExposeOpenAPI {
331
329
httpMux .HandleFunc ("/openapi.json" , func (w http.ResponseWriter , r * http.Request ) {
330
+ if r .Method != http .MethodGet {
331
+ http .Error (w , "Method not allowed" , http .StatusMethodNotAllowed )
332
+ return
333
+ }
334
+ w .Header ().Set ("Content-Type" , "application/json" )
332
335
http .ServeFile (w , r , "./docs/api-reference/openapi.json" )
333
336
})
334
337
}
0 commit comments