@@ -201,30 +201,49 @@ func (cmd *ServiceRunCommand) Run(app server.Cmd) error {
201
201
202
202
func (cmd * ServiceRun2Command ) Run (app server.Cmd ) error {
203
203
// Create a provider by loading the plugins
204
- provider , err := provider .NewWithPlugins (nil , cmd .Plugins ... )
204
+ provider , err := provider .NewWithPlugins (cmd .Plugins ... )
205
205
if err != nil {
206
206
return err
207
207
}
208
208
209
- // Create configurations
210
- err = errors .Join (err , provider .Load ("log" , "main" , func (config server.Plugin ) {
209
+ // Set the configuration
210
+ err = errors .Join (err , provider .Load ("log" , "main" , func (ctx context. Context , config server.Plugin ) {
211
211
logger := config .(* logger.Config )
212
212
logger .Debug = app .GetDebug () >= server .Debug
213
213
}))
214
- err = errors .Join (err , provider .Load ("httprouter" , "main" , func (config server.Plugin ) {
214
+ err = errors .Join (err , provider .Load ("httprouter" , "main" , func (ctx context. Context , config server.Plugin ) {
215
215
httprouter := config .(* httprouter.Config )
216
- httprouter .Origin = "*"
217
216
httprouter .Prefix = types .NormalisePath (app .GetEndpoint ().Path )
217
+ httprouter .Origin = "*"
218
+ httprouter .Middleware = []string {"log.main" }
218
219
}))
219
- err = errors .Join (err , provider .Load ("httpserver" , "main" , func (config server.Plugin ) {
220
+ err = errors .Join (err , provider .Load ("httpserver" , "main" , func (ctx context. Context , config server.Plugin ) {
220
221
httpserver := config .(* httpserver.Config )
221
222
httpserver .Listen = app .GetEndpoint ()
223
+ httpserver .Router = provider .Task (ctx , "httprouter.main" ).(http.Handler )
224
+ }))
225
+ err = errors .Join (err , provider .Load ("helloworld" , "main" , func (ctx context.Context , config server.Plugin ) {
226
+ // NO-OP
227
+ }))
228
+ err = errors .Join (err , provider .Load ("pgpool" , "main" , func (ctx context.Context , config server.Plugin ) {
229
+ pgpool := config .(* pg.Config )
230
+ pgpool .Router = provider .Task (ctx , "httprouter.main" ).(server.HTTPRouter )
231
+ }))
232
+ err = errors .Join (err , provider .Load ("auth" , "main" , func (ctx context.Context , config server.Plugin ) {
233
+ auth := config .(* auth.Config )
234
+ auth .Pool = provider .Task (ctx , "pgpool.main" ).(server.PG )
235
+ auth .Router = provider .Task (ctx , "httprouter.main" ).(server.HTTPRouter )
236
+ }))
237
+ err = errors .Join (err , provider .Load ("pgqueue" , "main" , func (ctx context.Context , config server.Plugin ) {
238
+ pgqueue := config .(* pgqueue.Config )
239
+ pgqueue .Pool = provider .Task (ctx , "pgpool.main" ).(server.PG )
240
+ pgqueue .Router = provider .Task (ctx , "httprouter.main" ).(server.HTTPRouter )
241
+ }))
242
+ err = errors .Join (err , provider .Load ("certmanager" , "main" , func (ctx context.Context , config server.Plugin ) {
243
+ certmanager := config .(* cert.Config )
244
+ certmanager .Router = provider .Task (ctx , "httprouter.main" ).(server.HTTPRouter )
245
+ certmanager .Pool = provider .Task (ctx , "pgpool.main" ).(server.PG )
222
246
}))
223
- err = errors .Join (err , provider .Load ("helloworld" , "main" , nil ))
224
- err = errors .Join (err , provider .Load ("auth" , "main" , nil ))
225
- err = errors .Join (err , provider .Load ("pgpool" , "main" , nil ))
226
- err = errors .Join (err , provider .Load ("pgqueue" , "main" , nil ))
227
- err = errors .Join (err , provider .Load ("certmanager" , "main" , nil ))
228
247
if err != nil {
229
248
return err
230
249
}
0 commit comments