Skip to content

Commit c6b9a7f

Browse files
committed
Fixed Accept header parsing issue in SerializedResponseTransformer
1 parent 3839de6 commit c6b9a7f

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/main/java/org/javawebstack/http/router/transformer/response/SerializedResponseTransformer.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.javawebstack.abstractdata.mapper.Mapper;
44
import org.javawebstack.abstractdata.mapper.naming.NamingPolicy;
55
import org.javawebstack.http.router.Exchange;
6+
import org.javawebstack.http.router.util.HeaderValue;
67

78
public class SerializedResponseTransformer implements ResponseTransformer {
89

@@ -29,18 +30,20 @@ public String transform(Exchange exchange, Object object) {
2930
} else {
3031
if (this.ignoreStrings && object instanceof String)
3132
return null;
32-
String accept = exchange.header("Accept");
33+
String rawAccept = exchange.header("Accept");
3334

34-
if (accept != null) {
35-
switch (accept.toLowerCase()) {
35+
if (rawAccept != null) {
36+
HeaderValue accept = new HeaderValue(rawAccept);
37+
38+
switch (accept.getValue().toLowerCase()) {
3639
case "application/x-yaml":
3740
case "application/yaml":
3841
case "text/yaml":
3942
case "text/x-yaml":
40-
exchange.contentType(accept);
43+
exchange.contentType(rawAccept);
4144
return this.mapper.map(object).toYaml();
4245
case "application/x-www-form-urlencoded":
43-
exchange.contentType(accept);
46+
exchange.contentType(rawAccept);
4447
return this.mapper.map(object).toFormDataString();
4548
}
4649
}

0 commit comments

Comments
 (0)