You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2014/02/12 18:36:05 UTC
svn commit: r1567696 - in /cxf/trunk/rt/rs/extensions/providers/src:
main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInInterceptor.java
test/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInterceptorTest.java
Author: sergeyb
Date: Wed Feb 12 17:36:05 2014
New Revision: 1567696
URL: http://svn.apache.org/r1567696
Log:
[CXF-5558] Updating JSONPInInterceptor to recognize custom callback parameters
Modified:
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInInterceptor.java
cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInterceptorTest.java
Modified: cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInInterceptor.java?rev=1567696&r1=1567695&r2=1567696&view=diff
==============================================================================
--- cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInInterceptor.java (original)
+++ cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInInterceptor.java Wed Feb 12 17:36:05 2014
@@ -54,7 +54,7 @@ public class JsonpInInterceptor extends
if (!StringUtils.isEmpty(callbackValue)) {
if (getAcceptType() != null) {
// may be needed to enforce the selection of
- // JSON-awarenprovider
+ // JSON-aware provider
message.put(Message.ACCEPT_CONTENT_TYPE, getAcceptType());
}
message.getExchange().put(CALLBACK_KEY, callbackValue);
@@ -63,7 +63,7 @@ public class JsonpInInterceptor extends
protected String getCallbackValue(Message message) {
String theQuery = (String)message.get(Message.QUERY_STRING);
- String callback = JAXRSUtils.getStructuredParams(theQuery, "&", false, false).getFirst(CALLBACK_PARAM);
+ String callback = JAXRSUtils.getStructuredParams(theQuery, "&", false, false).getFirst(callbackParam);
if (StringUtils.isEmpty(callback)) {
String httpAcceptType = (String)message.get(Message.ACCEPT_CONTENT_TYPE);
if (httpAcceptType != null && mediaType.equals(httpAcceptType)) {
Modified: cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInterceptorTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInterceptorTest.java?rev=1567696&r1=1567695&r2=1567696&view=diff
==============================================================================
--- cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInterceptorTest.java (original)
+++ cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInterceptorTest.java Wed Feb 12 17:36:05 2014
@@ -66,6 +66,28 @@ public class JsonpInterceptorTest extend
}
@Test
+ public void testJsonWithPaddingCustomCallbackParam() throws Exception {
+ Message message = new MessageImpl();
+ message.put(Message.CONTENT_TYPE, MediaType.APPLICATION_JSON);
+ message.setExchange(new ExchangeImpl());
+ message.put(Message.QUERY_STRING, "_customjsonp=myCallback");
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ message.setContent(OutputStream.class, bos);
+
+ // Process the message
+ try {
+ in.setCallbackParam("_customjsonp");
+ in.handleMessage(message);
+ preStream.handleMessage(message);
+ postStream.handleMessage(message);
+ assertEquals("myCallback();", bos.toString());
+ } finally {
+ in.setCallbackParam("_jsonp");
+ }
+
+ }
+
+ @Test
public void testJsonWithDefaultPadding() throws Exception {
Message message = new MessageImpl();
message.put(Message.ACCEPT_CONTENT_TYPE, JsonpInInterceptor.JSONP_TYPE);