16
16
17
17
package eu .cloudnetservice .ext .modules .rest ;
18
18
19
- import dev .derklaro .aerogel .SpecifiedInjector ;
20
- import dev .derklaro .aerogel .binding .BindingBuilder ;
19
+ import dev .derklaro .aerogel .Injector ;
21
20
import eu .cloudnetservice .driver .document .DocumentFactory ;
22
21
import eu .cloudnetservice .driver .event .EventManager ;
23
22
import eu .cloudnetservice .driver .inject .InjectionLayer ;
@@ -108,17 +107,16 @@ public void initHttpServer(@Named("module") @NonNull InjectionLayer<?> injection
108
107
// registers the validation-enabling context decorator
109
108
var validationDecorator = ValidationHandlerMethodContextDecorator .withDefaultValidator ();
110
109
server .annotationParser ().registerHandlerContextDecorator (validationDecorator );
110
+ server .annotationParser ().registerAnnotationProcessor (new CloudNetLoggerInterceptor ());
111
111
112
- // bind the server and register it for injection
112
+ // bind the server listeners
113
113
restConfig .httpListeners ().forEach (listener -> server .addListener (listener ).join ());
114
- injectionLayer .install (BindingBuilder .create ().bind (HttpServer .class ).toInstance (server ));
115
-
116
- // add the cloudnet logger interceptor
117
- server .annotationParser ().registerAnnotationProcessor (new CloudNetLoggerInterceptor ());
118
114
119
- // bind the rest user management for injection
115
+ // register required instances for injection
120
116
var restUserManagement = RestUserManagementLoader .load ();
121
- injectionLayer .install (BindingBuilder .create ().bind (RestUserManagement .class ).toInstance (restUserManagement ));
117
+ var bindingBuilder = injectionLayer .injector ().createBindingBuilder ();
118
+ injectionLayer .install (bindingBuilder .bind (HttpServer .class ).toInstance (server ));
119
+ injectionLayer .install (bindingBuilder .bind (RestUserManagement .class ).toInstance (restUserManagement ));
122
120
}
123
121
124
122
@ ModuleTask (order = 107 , lifecycle = ModuleLifeCycle .STARTED )
@@ -164,7 +162,7 @@ public void scheduleBridgeInitialization(
164
162
@ NonNull Scheduler scheduler ,
165
163
@ NonNull ModuleProvider moduleProvider ,
166
164
@ NonNull HttpServer server ,
167
- @ NonNull @ Named ("module" ) InjectionLayer <SpecifiedInjector > moduleLayer
165
+ @ NonNull @ Named ("module" ) InjectionLayer <Injector > moduleLayer
168
166
) {
169
167
// we want to register the bridge handlers after all modules are started
170
168
scheduler .runTask (() -> CloudNetBridgeInitializer .installBridgeHandler (moduleProvider , server , moduleLayer ));
@@ -178,11 +176,11 @@ public void registerListener(@NonNull EventManager eventManager) {
178
176
@ ModuleTask (lifecycle = ModuleLifeCycle .STOPPED )
179
177
public void unregisterModule (
180
178
@ NonNull HttpServer httpServer ,
181
- @ Named ("module" ) InjectionLayer <SpecifiedInjector > layer
179
+ @ Named ("module" ) InjectionLayer <Injector > layer
182
180
) {
183
181
try {
184
182
httpServer .close ();
185
- layer .injector ().removeConstructedBindings ();
183
+ layer .injector ().close ();
186
184
} catch (Exception exception ) {
187
185
LOGGER .error ("Unable to close http server while disabling cloudnet rest module." , exception );
188
186
}
0 commit comments