[Edit]
+
0
-
0

Spring Boot 2 - get origin from HttpServletRequest

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
// -------------------------------------------- // ExampleController.java file: // -------------------------------------------- package com.example; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import common.utils.DomainUtils; @Controller public class ExampleController { @RequestMapping(value = "/example") public ResponseEntity<String> example(HttpServletRequest request) { String siteOrigin = DomainUtils.getOrigin(request); // <------------------- gets origin from HttpServletRequest return ResponseEntity.ok("Origin: " + siteOrigin); } } // -------------------------------------------- // DomainUtils.java file: // -------------------------------------------- package com.example; import javax.servlet.http.HttpServletRequest; public final class DomainUtils { private static final int NORMAL_POST = 80; private static final int SECURE_POST = 443; private static final String NORMAL_SCHEME = "http"; private static final String SECURE_SCHEME = "https"; private DomainUtils() { // nothing here ... } public static String getOrigin(HttpServletRequest request) { int serverPort = request.getServerPort(); String serverName = request.getServerName(); String requestScheme = request.getScheme(); if (serverPort == NORMAL_POST && NORMAL_SCHEME.equals(requestScheme)) { return requestScheme + "://" + serverName; } if (serverPort == SECURE_POST && SECURE_SCHEME.equals(requestScheme)) { return requestScheme + "://" + serverName; } return requestScheme + "://" + serverName + ":" + serverPort; } }