Forráskód Böngészése

Merge branch 'master' of http://139.162.7.140:3000/herlanS_/ipphone-bridge

# Conflicts:
#	pom.xml
herlanS_ 4 éve
szülő
commit
bb7c25b162

+ 24 - 3
src/main/kotlin/co/id/datacomsolusindo/ipphonebridge/BridgeFIlter.kt

@@ -3,8 +3,10 @@ package co.id.datacomsolusindo.ipphonebridge
 import com.fasterxml.jackson.core.type.TypeReference
 import com.fasterxml.jackson.databind.ObjectMapper
 import org.apache.commons.io.IOUtils
+import org.springframework.context.annotation.Configuration
 import org.springframework.core.Ordered
 import org.springframework.core.annotation.Order
+import org.springframework.core.io.ResourceLoader
 import org.springframework.http.HttpMethod
 import org.springframework.http.HttpStatus
 import org.springframework.messaging.simp.SimpMessagingTemplate
@@ -13,6 +15,10 @@ import org.springframework.web.bind.annotation.GetMapping
 import org.springframework.web.bind.annotation.PathVariable
 import org.springframework.web.bind.annotation.PostMapping
 import org.springframework.web.bind.annotation.RestController
+import org.springframework.web.servlet.config.annotation.EnableWebMvc
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
+import org.springframework.web.servlet.resource.PathResourceResolver
 import java.io.IOException
 import java.io.InputStream
 import java.io.Serializable
@@ -53,7 +59,7 @@ class SimpleCORSFilter : Filter {
 
 @Component
 @Order(1)
-class BridgeFilter(private val template: SimpMessagingTemplate) : Filter {
+class BridgeFilter(private val template: SimpMessagingTemplate, val resourceLoader: ResourceLoader) : Filter {
     override fun doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain) {
         val req = request as HttpServletRequest
         val splitPath = req.requestURI.split("/")
@@ -111,6 +117,8 @@ class BridgeFilter(private val template: SimpMessagingTemplate) : Filter {
         res.flushBuffer()
         Singletons.requestInstance.remove(reqId)
         return
+
+
     }
 }
 
@@ -133,7 +141,7 @@ class RequestBuilder(val id: String, val path: String, val method: HttpMethod, v
     var queryString: MutableMap<String, Array<String>>? = null
 }
 
-class Resp(val body: InputStream, val statusCode: Int, val headers: Map<String,Array<String>>? = null)
+class Resp(val body: InputStream, val statusCode: Int, val headers: Map<String, Array<String>>? = null)
 
 object Singletons {
     val responseQue: MutableMap<String, Resp> by lazy { mutableMapOf<String, Resp>() }
@@ -148,7 +156,7 @@ class BridgeRestController {
         val typeRef: TypeReference<HashMap<String, Array<String>>> = object : TypeReference<HashMap<String, Array<String>>>() {}
         Singletons.responseQue[id] = Resp(
                 req.getPart("body").inputStream,
-               String(IOUtils.toByteArray(req.getPart("status").inputStream)).toInt(),
+                String(IOUtils.toByteArray(req.getPart("status").inputStream)).toInt(),
                 if (req.getPart("header") != null) {
                     objectMapper.readValue(String(IOUtils.toByteArray(req.getPart("header").inputStream)), typeRef)
                 } else {
@@ -168,3 +176,16 @@ class BridgeRestController {
     }
 }
 
+@Configuration
+@EnableWebMvc
+class MvcConfig : WebMvcConfigurer {
+    override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
+        registry
+                .addResourceHandler("/resources/**")
+                .addResourceLocations("file:dist/")
+                .setCachePeriod(3600 * 24 * 30)
+                .resourceChain(true)
+                .addResolver(PathResourceResolver())
+    }
+}
+