Author: tchemit Date: 2012-07-19 09:38:03 +0200 (Thu, 19 Jul 2012) New Revision: 860 Url: http://nuiton.org/repositories/revision/maven-helper-plugin/860 Log: fixes #2199: Can add request headers in REST Api Modified: trunk/src/main/java/org/nuiton/io/rest/AbstractRequestFactory.java trunk/src/main/java/org/nuiton/io/rest/RestRequest.java trunk/src/main/java/org/nuiton/io/rest/RestRequestBuilder.java trunk/src/main/java/org/nuiton/io/rest/RestSession.java Modified: trunk/src/main/java/org/nuiton/io/rest/AbstractRequestFactory.java =================================================================== --- trunk/src/main/java/org/nuiton/io/rest/AbstractRequestFactory.java 2012-07-19 06:30:26 UTC (rev 859) +++ trunk/src/main/java/org/nuiton/io/rest/AbstractRequestFactory.java 2012-07-19 07:38:03 UTC (rev 860) @@ -156,6 +156,12 @@ } @Override + public Map<String, String> getHeaders(Object... args) { + // by default no header + return null; + } + + @Override public RestRequest create(final Object... args) { checkRequestArgs(args); @@ -178,6 +184,11 @@ } @Override + public Map<String, String> getHeaders() { + return AbstractRequestBuilder.this.getHeaders(args); + } + + @Override public boolean containsAttachments() { Map<String, File> attachments = getAttachments(); return attachments != null && !attachments.isEmpty(); Modified: trunk/src/main/java/org/nuiton/io/rest/RestRequest.java =================================================================== --- trunk/src/main/java/org/nuiton/io/rest/RestRequest.java 2012-07-19 06:30:26 UTC (rev 859) +++ trunk/src/main/java/org/nuiton/io/rest/RestRequest.java 2012-07-19 07:38:03 UTC (rev 860) @@ -69,4 +69,12 @@ * @return 1.5 */ RestMethod getMethod(); + + /** + * Gets headers to add in request. + * + * @return the headers to add in request. + * @since 1.6 + */ + Map<String, String> getHeaders(); } Modified: trunk/src/main/java/org/nuiton/io/rest/RestRequestBuilder.java =================================================================== --- trunk/src/main/java/org/nuiton/io/rest/RestRequestBuilder.java 2012-07-19 06:30:26 UTC (rev 859) +++ trunk/src/main/java/org/nuiton/io/rest/RestRequestBuilder.java 2012-07-19 07:38:03 UTC (rev 860) @@ -85,4 +85,13 @@ * @since 1.5 */ Map<String, File> getAttachments(Object... args); + + /** + * Computes the headers associated to this request + * + * @param args the args of the request + * @return headers to use for this request + * @since 1.6 + */ + Map<String, String> getHeaders(Object... args); } Modified: trunk/src/main/java/org/nuiton/io/rest/RestSession.java =================================================================== --- trunk/src/main/java/org/nuiton/io/rest/RestSession.java 2012-07-19 06:30:26 UTC (rev 859) +++ trunk/src/main/java/org/nuiton/io/rest/RestSession.java 2012-07-19 07:38:03 UTC (rev 860) @@ -25,6 +25,7 @@ package org.nuiton.io.rest; +import org.apache.commons.collections.MapUtils; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HttpClient; @@ -239,6 +240,14 @@ } } + Map<String, String> headers = request.getHeaders(); + if (MapUtils.isNotEmpty(headers)) { + + for (Entry<String, String> entry : headers.entrySet()) { + gm.addRequestHeader(entry.getKey(), entry.getValue()); + } + } + client.executeMethod(gm); return gm;