Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/rorschach.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/com/getbootstrap/rorschach/http/UserAgentWire.scala')
-rw-r--r--src/main/scala/com/getbootstrap/rorschach/http/UserAgentWire.scala25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main/scala/com/getbootstrap/rorschach/http/UserAgentWire.scala b/src/main/scala/com/getbootstrap/rorschach/http/UserAgentWire.scala
new file mode 100644
index 0000000..697c14e
--- /dev/null
+++ b/src/main/scala/com/getbootstrap/rorschach/http/UserAgentWire.scala
@@ -0,0 +1,25 @@
+package com.getbootstrap.rorschach.http
+
+import java.util.{Collection=>JavaCollection}
+import java.util.Map.{Entry=>MapEntry}
+import java.io.InputStream
+import scala.collection.JavaConverters._
+import com.jcabi.http._
+
+object UserAgentWire {
+ private val userAgentHeader = "User-Agent"
+}
+case class UserAgentWire(private val wire: Wire, userAgent: UserAgent) extends Wire {
+ @Override
+ def send(
+ request: Request,
+ home: String,
+ method: String,
+ headers: JavaCollection[MapEntry[String, String]],
+ content: InputStream
+ ): Response = {
+ val header = new ImmutableHeader(UserAgentWire.userAgentHeader, userAgent.userAgent)
+ val newHeaders = header +: headers.asScala.filter{ _.getKey != UserAgentWire.userAgentHeader}.toSeq
+ wire.send(request, home, method, newHeaders.asJava, content)
+ }
+}