Implemented inserting test data and debug interceptors
This commit is contained in:
parent
8cd58228dd
commit
b0f23f129d
@ -0,0 +1,33 @@
|
|||||||
|
package ru.dragonestia.loadbalancer.config;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Profile;
|
||||||
|
import org.springframework.lang.NonNull;
|
||||||
|
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||||
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
import ru.dragonestia.loadbalancer.interceptor.DebugInterceptor;
|
||||||
|
import ru.dragonestia.loadbalancer.model.Node;
|
||||||
|
import ru.dragonestia.loadbalancer.model.type.LoadBalancingMethod;
|
||||||
|
import ru.dragonestia.loadbalancer.repository.NodeRepository;
|
||||||
|
|
||||||
|
@Profile("test")
|
||||||
|
@Configuration
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class TestConfig implements WebMvcConfigurer {
|
||||||
|
|
||||||
|
private final NodeRepository nodeRepository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addInterceptors(@NonNull InterceptorRegistry registry) {
|
||||||
|
registry.addInterceptor(new DebugInterceptor());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
void createNodes() {
|
||||||
|
nodeRepository.createNode(new Node("game-servers", LoadBalancingMethod.ROUND_ROBIN));
|
||||||
|
nodeRepository.createNode(new Node("game-lobbies", LoadBalancingMethod.LEAST_PICKED));
|
||||||
|
nodeRepository.createNode(new Node("hub", LoadBalancingMethod.SEQUENTIAL_FILLING));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
package ru.dragonestia.loadbalancer.interceptor;
|
||||||
|
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import lombok.extern.log4j.Log4j2;
|
||||||
|
import org.springframework.lang.NonNull;
|
||||||
|
import org.springframework.web.servlet.HandlerInterceptor;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
@Log4j2(topic = "DEBUG INTERCEPTOR")
|
||||||
|
public class DebugInterceptor implements HandlerInterceptor {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean preHandle(HttpServletRequest request, @NonNull HttpServletResponse response, @NonNull Object handler) {
|
||||||
|
log.info("[" + request.getMethod() + "] " + request.getRequestURI());
|
||||||
|
var map = request.getParameterMap();
|
||||||
|
|
||||||
|
for (String key : map.keySet()) {
|
||||||
|
log.info(" " + key + ": " + Arrays.toString(map.get(key)));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user