header routing

This commit is contained in:
bronku 2025-11-25 11:45:06 +01:00
parent ef47d7082c
commit 71d1b559a8
5 changed files with 36 additions and 55 deletions

View file

@ -5,7 +5,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
}

View file

@ -1,23 +1,27 @@
package java_app.spring_boot;
import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpHeaders;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
@RestController
public class MirrorController {
private final String serverName = System.getenv().getOrDefault("NAME", "unnamed");
private final String serverName = System.getenv().getOrDefault(
"NAME",
"unnamed"
);
@GetMapping(path = "/**") // Obsługuje dowolną ścieżkę
public String mirrorRequest(HttpServletRequest request) {
String ip = request.getRemoteAddr();
String method = request.getMethod();
String scheme = request.getScheme();
String host = request.getHeader(HttpHeaders.HOST);
String path = request.getRequestURI();
String queryString = request.getQueryString() != null ? "?" + request.getQueryString() : "";
String queryString = request.getQueryString() != null
? "?" + request.getQueryString()
: "";
StringBuilder responseText = new StringBuilder();
@ -30,10 +34,18 @@ public class MirrorController {
responseText.append("QueryString: ").append(queryString).append("\n");
responseText.append("Headers:\n");
request.getHeaderNames().asIterator().forEachRemaining(headerName -> {
responseText.append(" ").append(headerName).append(": ").append(request.getHeader(headerName)).append("\n");
});
request
.getHeaderNames()
.asIterator()
.forEachRemaining(headerName -> {
responseText
.append(" ")
.append(headerName)
.append(": ")
.append(request.getHeader(headerName))
.append("\n");
});
return "<pre>" + responseText.toString() + "</pre>";
return "<pre>" + responseText.toString() + "</pre>\n";
}
}
}