This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new 8ee5039 JUNEAU-200
8ee5039 is described below
commit 8ee503993f7d4b4fcf899b0926f5cf706ab3c8fc
Author: JamesBognar <[email protected]>
AuthorDate: Fri Mar 6 17:43:38 2020 -0500
JUNEAU-200
StreamResource/ReaderResource classes should take in HttpHeader beans.
---
TODO.txt | 75 ----------------------
.../main/java/org/apache/juneau/http/Allow.java | 7 +-
.../java/org/apache/juneau/http/Authorization.java | 7 +-
.../java/org/apache/juneau/http/CacheControl.java | 7 +-
.../java/org/apache/juneau/http/Connection.java | 8 ++-
.../org/apache/juneau/http/ContentEncoding.java | 7 +-
.../org/apache/juneau/http/ContentLanguage.java | 7 +-
.../java/org/apache/juneau/http/ContentLength.java | 7 +-
.../org/apache/juneau/http/ContentLocation.java | 7 +-
.../java/org/apache/juneau/http/ContentRange.java | 7 +-
.../java/org/apache/juneau/http/ContentType.java | 9 ++-
.../src/main/java/org/apache/juneau/http/ETag.java | 7 +-
.../main/java/org/apache/juneau/http/Expect.java | 7 +-
.../main/java/org/apache/juneau/http/Expires.java | 7 +-
.../src/main/java/org/apache/juneau/http/From.java | 7 +-
.../src/main/java/org/apache/juneau/http/Host.java | 7 +-
.../main/java/org/apache/juneau/http/IfMatch.java | 7 +-
.../org/apache/juneau/http/IfModifiedSince.java | 7 +-
.../java/org/apache/juneau/http/IfNoneMatch.java | 7 +-
.../main/java/org/apache/juneau/http/IfRange.java | 7 +-
.../org/apache/juneau/http/IfUnmodifiedSince.java | 7 +-
.../java/org/apache/juneau/http/LastModified.java | 7 +-
.../main/java/org/apache/juneau/http/Location.java | 7 +-
.../java/org/apache/juneau/http/MaxForwards.java | 7 +-
.../main/java/org/apache/juneau/http/Pragma.java | 7 +-
.../org/apache/juneau/http/ProxyAuthenticate.java | 7 +-
.../org/apache/juneau/http/ProxyAuthorization.java | 7 +-
.../main/java/org/apache/juneau/http/Range.java | 7 +-
.../org/apache/juneau/http/ReaderResource.java | 14 ++++
.../main/java/org/apache/juneau/http/Referer.java | 7 +-
.../java/org/apache/juneau/http/RetryAfter.java | 7 +-
.../main/java/org/apache/juneau/http/Server.java | 7 +-
.../org/apache/juneau/http/StreamResource.java | 14 ++++
.../src/main/java/org/apache/juneau/http/TE.java | 7 +-
.../main/java/org/apache/juneau/http/Trailer.java | 7 +-
.../org/apache/juneau/http/TransferEncoding.java | 7 +-
.../main/java/org/apache/juneau/http/Upgrade.java | 7 +-
.../java/org/apache/juneau/http/UserAgent.java | 7 +-
.../src/main/java/org/apache/juneau/http/Vary.java | 7 +-
.../src/main/java/org/apache/juneau/http/Via.java | 7 +-
.../main/java/org/apache/juneau/http/Warning.java | 7 +-
.../org/apache/juneau/http/WwwAuthenticate.java | 7 +-
.../juneau/rest/client2/EndToEndInterfaceTest.java | 9 +--
43 files changed, 268 insertions(+), 120 deletions(-)
diff --git a/TODO.txt b/TODO.txt
index 45e4b45..e69de29 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,75 +0,0 @@
- // TODO - Add a new RestCallLogger that sends the result to the console.
- TODO: wrapper for httpClient.getState();
- TODO: header() and query() should persist objects that can be converted
to strings at runtime.
-
- ContentDisposition header bean.
- StreamResource/ReaderResource classes should take in header beans.
-
- Need the ability to turn on debug in REST via environment variables
(e.g. debug=MyServlet.myMethod)
- $Contains{} variable.
-
-
- TODO: @BeanConfig(bpi) doesn't override @Bean(bpi)?
-
-
-TODO - This isn't working.
- public static class InstanceMetrics {
- public List<SimpleMetric> instance = new ArrayList<>();
- public Map<Integer,List<SimpleMetric>> racNode = new TreeMap<>();
- public Map<Integer,List<SimpleMetric>> partition = new TreeMap<>();
- }
-
- @Bean(bpi="name,value,received")
- @Html(noTableHeaders=true)
- public static class SimpleMetric {
- public String name;
- public Long value;
- public Calendar received;
-
- public SimpleMetric(Metric m) {
- this.name = m.getMetric();
- this.value = m.getValue();
- this.received = m.getReceived();
- }
- }
-
-TODO @Beanp(*) isn't working?
- public static class InstanceCopySummary {
- public String instance;
- public int total;
- @Beanp(name="*")
- public Map<String,Integer> perPartition = new TreeMap<>();
-
-TODO: Need a SimpleLink(name, uri) again.
-
-TODO: RestClient should support all languages by default.
-
-TODO: HTML elements need constructors or create methods.
-
-TODO: Can't serialize a list of A elements correctly.
-
-TODO: Need ability to have <aside> float left/right/top/bottom around contents.
-
-TODO: Need ability to define action for unauthorized requests (e.g. redirect
instead of just return 401).
-
-TODO: @RestMethod(debug="true") doesn't appear to log messages.
-
-TODO: @Bean on private class should be treated as bean.
-
-TODO: HtmlRender should not require no-arg constructor.
-
-TODO: Tables of this aren't ordered correctly if p is null on first row.
-@Bean(bpi="i,p,s,d")
-public class BidData {
-
- public String i; // Instance name.
- public Integer p; // Partition number.
- public Score s; // Score.
- public String d; // Discard reason.
-
- public BidData(Bid b) {
- this.s = b.getScore();
-
-REST classes should allow themselves to implement helper classes such as call
hander etc...
-
-TODO: ResourceDescriptions needs an append(url, label, description) so you
can add params on url.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Allow.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Allow.java
index 45ed13e..744863d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Allow.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Allow.java
@@ -89,7 +89,12 @@ public final class Allow extends BasicStringArrayHeader {
return new Allow(value);
}
- private Allow(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Allow(String value) {
super("Allow", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Authorization.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Authorization.java
index 0dc82ad..13e2a4e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Authorization.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Authorization.java
@@ -84,7 +84,12 @@ public final class Authorization extends BasicStringHeader {
return new Authorization(value);
}
- private Authorization(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Authorization(String value) {
super("Authorization", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/CacheControl.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/CacheControl.java
index 22f1672..01f27cc 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/CacheControl.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/CacheControl.java
@@ -108,7 +108,12 @@ public final class CacheControl extends BasicStringHeader {
return new CacheControl(value);
}
- private CacheControl(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public CacheControl(String value) {
super("Cache-Control", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Connection.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Connection.java
index 3ff3f6f..b45f8a5 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Connection.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Connection.java
@@ -89,8 +89,12 @@ public final class Connection extends BasicStringHeader {
return new Connection(value);
}
-
- private Connection(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Connection(String value) {
super("Connection", value);
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentEncoding.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentEncoding.java
index ab7df12..e4504f1 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentEncoding.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentEncoding.java
@@ -81,7 +81,12 @@ public final class ContentEncoding extends
BasicEnumHeader<ContentEncodingEnum>
return new ContentEncoding(value);
}
- private ContentEncoding(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ContentEncoding(String value) {
super("Content-Encoding", value, ContentEncodingEnum.class,
ContentEncodingEnum.OTHER);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLanguage.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLanguage.java
index 0c6aee2..9b3b2a8 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLanguage.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLanguage.java
@@ -94,7 +94,12 @@ public final class ContentLanguage extends
BasicStringArrayHeader {
return new ContentLanguage(value);
}
- private ContentLanguage(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ContentLanguage(String value) {
super("Allow", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLength.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLength.java
index 7e76f0e..a6e307e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLength.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLength.java
@@ -82,7 +82,12 @@ public final class ContentLength extends BasicLongHeader {
return new ContentLength(value);
}
- private ContentLength(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ContentLength(String value) {
super("Content-Length", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLocation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLocation.java
index 249a4ea..6b0cb3f 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLocation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentLocation.java
@@ -79,7 +79,12 @@ public final class ContentLocation extends HeaderUri {
return new ContentLocation(value);
}
- private ContentLocation(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ContentLocation(String value) {
super("Content-Location", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentRange.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentRange.java
index 471daff..1927dc4 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentRange.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentRange.java
@@ -141,7 +141,12 @@ public final class ContentRange extends BasicStringHeader {
return new ContentRange(value);
}
- private ContentRange(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ContentRange(String value) {
super("Content-Range", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentType.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentType.java
index c58d1dc..34ffe85 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentType.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ContentType.java
@@ -68,8 +68,13 @@ public class ContentType extends MediaType implements
HttpHeader {
}
- private ContentType(String s) {
- super(s);
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ContentType(String value) {
+ super(value);
}
/**
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ETag.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ETag.java
index 200082e..1c9f00a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ETag.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ETag.java
@@ -62,7 +62,12 @@ public final class ETag extends BasicStringHeader {
return new ETag(value);
}
- private ETag(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ETag(String value) {
super("ETag", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Expect.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Expect.java
index 4c4efd9..979a18a 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Expect.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Expect.java
@@ -81,7 +81,12 @@ public final class Expect extends BasicStringHeader {
return new Expect(value);
}
- private Expect(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Expect(String value) {
super("Expect", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Expires.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Expires.java
index a7096f6..2e7c225 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Expires.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Expires.java
@@ -92,7 +92,12 @@ public final class Expires extends BasicDateHeader {
return new Expires(value);
}
- private Expires(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Expires(String value) {
super("Expires", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/From.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/From.java
index 114bb6e..160473d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/From.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/From.java
@@ -79,7 +79,12 @@ public final class From extends BasicStringHeader {
return new From(value);
}
- private From(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public From(String value) {
super("From", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Host.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Host.java
index e16cea0..c80173c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Host.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Host.java
@@ -81,7 +81,12 @@ public final class Host extends BasicStringHeader {
return new Host(value);
}
- private Host(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Host(String value) {
super("Host", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfMatch.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfMatch.java
index 469c306..e57e9c2 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfMatch.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfMatch.java
@@ -103,7 +103,12 @@ public final class IfMatch extends
ComplexEntityValidatorArrayHeader {
return new IfMatch(value);
}
- private IfMatch(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public IfMatch(String value) {
super("If-Match", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfModifiedSince.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfModifiedSince.java
index b8830b8..5fefe9b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfModifiedSince.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfModifiedSince.java
@@ -103,7 +103,12 @@ public final class IfModifiedSince extends BasicDateHeader
{
return new IfModifiedSince(value);
}
- private IfModifiedSince(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public IfModifiedSince(String value) {
super("If-Modified-Since", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfNoneMatch.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfNoneMatch.java
index d0787fb..c659d5d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfNoneMatch.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfNoneMatch.java
@@ -106,7 +106,12 @@ public final class IfNoneMatch extends
ComplexEntityValidatorArrayHeader {
return new IfNoneMatch(value);
}
- private IfNoneMatch(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public IfNoneMatch(String value) {
super("If-None-Match", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfRange.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfRange.java
index 4cdd1b1..6ad2efb 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfRange.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfRange.java
@@ -76,7 +76,12 @@ public final class IfRange extends BasicStringHeader {
return new IfRange(value);
}
- private IfRange(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public IfRange(String value) {
super("If-Range", value);
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfUnmodifiedSince.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfUnmodifiedSince.java
index 540d0fd..4ae20cf 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfUnmodifiedSince.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/IfUnmodifiedSince.java
@@ -75,7 +75,12 @@ public final class IfUnmodifiedSince extends BasicDateHeader
{
return new IfUnmodifiedSince(value);
}
- private IfUnmodifiedSince(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public IfUnmodifiedSince(String value) {
super("If-Unmodified-Since", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/LastModified.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/LastModified.java
index 273e8d7..135f102 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/LastModified.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/LastModified.java
@@ -82,7 +82,12 @@ public final class LastModified extends BasicDateHeader {
return new LastModified(value);
}
- private LastModified(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public LastModified(String value) {
super("Last-Modified", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Location.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Location.java
index 668fbe5..2ee7cdf 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Location.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Location.java
@@ -68,7 +68,12 @@ public final class Location extends HeaderUri {
return new Location(value);
}
- private Location(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Location(String value) {
super("Location", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MaxForwards.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MaxForwards.java
index fa9abc3..dbd158f 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MaxForwards.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/MaxForwards.java
@@ -80,7 +80,12 @@ public final class MaxForwards extends BasicIntegerHeader {
return new MaxForwards(value);
}
- private MaxForwards(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public MaxForwards(String value) {
super("Max-Forwards", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Pragma.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Pragma.java
index 92ead94..16c898e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Pragma.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Pragma.java
@@ -79,7 +79,12 @@ public final class Pragma extends BasicStringHeader {
return new Pragma(value);
}
- private Pragma(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Pragma(String value) {
super("Pragma", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ProxyAuthenticate.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ProxyAuthenticate.java
index 123271f..17aa4b3 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ProxyAuthenticate.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ProxyAuthenticate.java
@@ -62,7 +62,12 @@ public final class ProxyAuthenticate extends
BasicStringHeader {
return new ProxyAuthenticate(value);
}
- private ProxyAuthenticate(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ProxyAuthenticate(String value) {
super("Proxy-Authenticate", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ProxyAuthorization.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ProxyAuthorization.java
index 920c55b..17bfe51 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ProxyAuthorization.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ProxyAuthorization.java
@@ -64,7 +64,12 @@ public final class ProxyAuthorization extends
BasicStringHeader {
return new ProxyAuthorization(value);
}
- private ProxyAuthorization(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public ProxyAuthorization(String value) {
super("Proxy-Authorization", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Range.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Range.java
index def1b0f..53e0522 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Range.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Range.java
@@ -154,7 +154,12 @@ public final class Range extends BasicStringHeader {
return new Range(value);
}
- private Range(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Range(String value) {
super("Range", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ReaderResource.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ReaderResource.java
index 2d09d43..f0250e1 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ReaderResource.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/ReaderResource.java
@@ -185,6 +185,20 @@ public class ReaderResource implements Writable {
}
/**
+ * Specifies HTTP response header values.
+ *
+ * @param headers
+ * The HTTP headers.
+ * <br>Values will be converted to <c>Strings</c> using
{@link Object#toString()}.
+ * @return This object (for method chaining).
+ */
+ public Builder headers(HttpHeader...headers) {
+ for (HttpHeader h : headers)
+ this.headers.put(h.getName(), h.getValue());
+ return this;
+ }
+
+ /**
* Specifies that this resource is intended to be cached.
*
* <p>
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Referer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Referer.java
index 0a399c9..1c5e1f1 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Referer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Referer.java
@@ -70,7 +70,12 @@ public final class Referer extends HeaderUri {
return new Referer(value);
}
- private Referer(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Referer(String value) {
super("Referer", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/RetryAfter.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/RetryAfter.java
index 4c1739f..c658e9e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/RetryAfter.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/RetryAfter.java
@@ -72,7 +72,12 @@ public final class RetryAfter extends BasicStringHeader {
return new RetryAfter(value);
}
- private RetryAfter(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public RetryAfter(String value) {
super("Retry-After", value);
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Server.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Server.java
index c453ad4..7f6513b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Server.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Server.java
@@ -71,7 +71,12 @@ public final class Server extends BasicStringHeader {
return new Server(value);
}
- private Server(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Server(String value) {
super("Server", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/StreamResource.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/StreamResource.java
index 0cff719..a3e3349 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/StreamResource.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/StreamResource.java
@@ -177,6 +177,20 @@ public class StreamResource implements Streamable {
}
/**
+ * Specifies HTTP response header values.
+ *
+ * @param headers
+ * The HTTP headers.
+ * <br>Values will be converted to <c>Strings</c> using
{@link Object#toString()}.
+ * @return This object (for method chaining).
+ */
+ public Builder headers(HttpHeader...headers) {
+ for (HttpHeader h : headers)
+ this.headers.put(h.getName(), h.getValue());
+ return this;
+ }
+
+ /**
* Specifies that this resource is intended to be cached.
*
* <p>
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/TE.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/TE.java
index 4e8e84f..54288e8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/TE.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/TE.java
@@ -107,7 +107,12 @@ public final class TE extends ComplexRangeArrayHeader {
return te;
}
- private TE(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public TE(String value) {
super("TE", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Trailer.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Trailer.java
index 5833703..7948e49 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Trailer.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Trailer.java
@@ -71,7 +71,12 @@ public final class Trailer extends BasicStringHeader {
return new Trailer(value);
}
- private Trailer(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Trailer(String value) {
super("Trailer", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/TransferEncoding.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/TransferEncoding.java
index e98fd60..5518d69 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/TransferEncoding.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/TransferEncoding.java
@@ -71,7 +71,12 @@ public final class TransferEncoding extends
BasicStringHeader {
return new TransferEncoding(value);
}
- private TransferEncoding(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public TransferEncoding(String value) {
super("Transfer-Encoding", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Upgrade.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Upgrade.java
index 381880d..aff5706 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Upgrade.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Upgrade.java
@@ -103,7 +103,12 @@ public final class Upgrade extends BasicStringArrayHeader {
return new Upgrade(value);
}
- private Upgrade(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Upgrade(String value) {
super("Upgrade", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/UserAgent.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/UserAgent.java
index 69b7a6c..89cea19 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/UserAgent.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/UserAgent.java
@@ -64,7 +64,12 @@ public final class UserAgent extends BasicStringHeader {
return new UserAgent(value);
}
- private UserAgent(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public UserAgent(String value) {
super("User-Agent", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Vary.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Vary.java
index e5ec550..7adafad 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Vary.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Vary.java
@@ -84,7 +84,12 @@ public final class Vary extends BasicStringHeader {
return new Vary(value);
}
- private Vary(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Vary(String value) {
super("Vary", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Via.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Via.java
index a3bc2ce..38cdfa4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Via.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Via.java
@@ -139,7 +139,12 @@ public final class Via extends BasicStringArrayHeader {
return new Via(value);
}
- private Via(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Via(String value) {
super("Via", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Warning.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Warning.java
index bb39e55..5e47e5f 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Warning.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/Warning.java
@@ -138,7 +138,12 @@ public final class Warning extends BasicStringHeader {
return new Warning(value);
}
- private Warning(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public Warning(String value) {
super("Warning", value);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/WwwAuthenticate.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/WwwAuthenticate.java
index 0b67abf..219b879 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/WwwAuthenticate.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/WwwAuthenticate.java
@@ -60,7 +60,12 @@ public final class WwwAuthenticate extends BasicStringHeader
{
return new WwwAuthenticate(value);
}
- private WwwAuthenticate(String value) {
+ /**
+ * Constructor.
+ *
+ * @param value The value for this header.
+ */
+ public WwwAuthenticate(String value) {
super("WWW-Authenticate", value);
}
}
diff --git
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/EndToEndInterfaceTest.java
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/EndToEndInterfaceTest.java
index f434331..9b44d1c 100644
---
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/EndToEndInterfaceTest.java
+++
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/EndToEndInterfaceTest.java
@@ -17,8 +17,7 @@ import static org.junit.Assert.*;
import java.io.*;
-import org.apache.juneau.http.ReaderResource;
-import org.apache.juneau.http.StreamResource;
+import org.apache.juneau.http.*;
import org.apache.juneau.http.annotation.Body;
import org.apache.juneau.http.annotation.Header;
import org.apache.juneau.http.annotation.Query;
@@ -316,12 +315,12 @@ public class EndToEndInterfaceTest {
@Override
public StreamResource streamResource() throws IOException {
- return
StreamResource.create().mediaType("text/foo").contents("foo".getBytes()).header("Foo",
"foo").build();
+ return
StreamResource.create().mediaType("text/foo").contents("foo".getBytes()).header("Foo",
"foo").headers(ETag.forString("bar")).build();
}
@Override
public ReaderResource readerResource() throws IOException {
- return
ReaderResource.create().mediaType("text/foo").contents("foo").header("Foo",
"foo").build();
+ return
ReaderResource.create().mediaType("text/foo").contents("foo").header("Foo",
"foo").headers(ETag.forString("bar")).build();
}
}
@@ -332,6 +331,7 @@ public class EndToEndInterfaceTest {
StreamResource r = id.streamResource();
assertEquals("foo", IOUtils.read(r.getContents()));
assertEquals("foo", r.getHeaders().get("Foo"));
+ assertEquals("bar", r.getHeaders().get("ETag"));
assertEquals("text/foo", r.getMediaType().toString());
}
@@ -340,6 +340,7 @@ public class EndToEndInterfaceTest {
ReaderResource r = id.readerResource();
assertEquals("foo", IOUtils.read(r.getContents()));
assertEquals("foo", r.getHeaders().get("Foo"));
+ assertEquals("bar", r.getHeaders().get("ETag"));
assertEquals("text/foo", r.getMediaType().toString());
}