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

github.com/twbs/no-carrier.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Rebert <code@rebertia.com>2015-04-14 06:03:28 +0300
committerChris Rebert <code@rebertia.com>2015-04-14 06:03:28 +0300
commitee6ac4178ccb0c7655479179b2ed181d13d5c597 (patch)
tree8898b3d82ca9226e8be166a102df5377d8a6deb6
parent015c219fef20b7bc941d8fa2981d1a39732ae7a4 (diff)
add UserAgentWire
-rw-r--r--src/main/scala/com/getbootstrap/no_carrier/github/Credentials.scala1
-rw-r--r--src/main/scala/com/getbootstrap/no_carrier/http/UserAgentWire.scala25
2 files changed, 26 insertions, 0 deletions
diff --git a/src/main/scala/com/getbootstrap/no_carrier/github/Credentials.scala b/src/main/scala/com/getbootstrap/no_carrier/github/Credentials.scala
index 2e22aaf..7dba1d8 100644
--- a/src/main/scala/com/getbootstrap/no_carrier/github/Credentials.scala
+++ b/src/main/scala/com/getbootstrap/no_carrier/github/Credentials.scala
@@ -6,4 +6,5 @@ import com.jcabi.http.wire.RetryWire
case class Credentials(username: String, password: String) {
private def basicGithub: Github = new RtGithub(username, password)
def github: Github = new RtGithub(basicGithub.entry.through(classOf[RetryWire])) // FIXME: use RetryCarefulWire once it's available
+ // FIXME: also make use of UserAgentWire
}
diff --git a/src/main/scala/com/getbootstrap/no_carrier/http/UserAgentWire.scala b/src/main/scala/com/getbootstrap/no_carrier/http/UserAgentWire.scala
new file mode 100644
index 0000000..e757659
--- /dev/null
+++ b/src/main/scala/com/getbootstrap/no_carrier/http/UserAgentWire.scala
@@ -0,0 +1,25 @@
+package com.getbootstrap.no_carrier.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: String) 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)
+ val newHeaders = header +: headers.asScala.filter{ _ != UserAgentWire.userAgentHeader}.toSeq
+ wire.send(request, home, method, newHeaders.asJava, content)
+ }
+}