-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
Netty3HeaderMap.scala
56 lines (42 loc) · 1.17 KB
/
Netty3HeaderMap.scala
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
package com.twitter.finagle.http
import org.jboss.netty.handler.codec.http.HttpHeaders
import scala.collection.JavaConverters._
/**
* Mutable HttpMessage-backed [[HeaderMap]].
*/
private final class Netty3HeaderMap(headers: HttpHeaders) extends HeaderMap {
def get(key: String): Option[String] =
Option(headers.get(key))
override def getOrNull(key: String): String =
headers.get(key)
def iterator: Iterator[(String, String)] =
headers.iterator.asScala.map { entry =>
(entry.getKey, entry.getValue)
}
override def keys: Iterable[String] =
headers.names.asScala
override def keySet: Set[String] =
keys.toSet
override def keysIterator: Iterator[String] =
keys.iterator
override def contains(key: String): Boolean =
headers.contains(key)
def += (kv: (String, String)): this.type = {
set(kv._1, kv._2)
this
}
def -= (key: String): this.type = {
headers.remove(key)
this
}
def getAll(key: String): Seq[String] =
headers.getAll(key).asScala
def set(k: String, v: String): HeaderMap = {
headers.set(k,v)
this
}
def add(k: String, v: String): HeaderMap = {
headers.add(k, v)
this
}
}