public class org.apache.camel.processor.RestBindingAdvice extends java.lang.Object implements org.apache.camel.processor.CamelInternalProcessorAdvice
{
private static final org.slf4j.Logger LOG;
private static final java.lang.String STATE_KEY_DO_MARSHAL;
private static final java.lang.String STATE_KEY_ACCEPT;
private static final java.lang.String STATE_JSON;
private static final java.lang.String STATE_XML;
private final org.apache.camel.AsyncProcessor jsonUnmarshal;
private final org.apache.camel.AsyncProcessor xmlUnmarshal;
private final org.apache.camel.AsyncProcessor jsonMarshal;
private final org.apache.camel.AsyncProcessor xmlMarshal;
private final java.lang.String consumes;
private final java.lang.String produces;
private final java.lang.String bindingMode;
private final boolean skipBindingOnErrorCode;
private final boolean clientRequestValidation;
private final boolean enableCORS;
private final java.util.Map corsHeaders;
private final java.util.Map queryDefaultValues;
private final boolean requiredBody;
private final java.util.Set requiredQueryParameters;
private final java.util.Set requiredHeaders;
public void <init>(org.apache.camel.CamelContext, org.apache.camel.spi.DataFormat, org.apache.camel.spi.DataFormat, org.apache.camel.spi.DataFormat, org.apache.camel.spi.DataFormat, java.lang.String, java.lang.String, java.lang.String, boolean, boolean, boolean, java.util.Map, java.util.Map, boolean, java.util.Set, java.util.Set) throws java.lang.Exception
{
org.apache.camel.processor.RestBindingAdvice v;
java.util.Map v, v;
boolean v, v, v, v, v, v;
java.util.Set v, v;
org.apache.camel.processor.MarshalProcessor v, v, v, v;
org.apache.camel.AsyncProcessor v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
org.apache.camel.CamelContext v;
org.apache.camel.spi.DataFormat v, v, v, v;
org.apache.camel.processor.UnmarshalProcessor v, v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: org.apache.camel.CamelContext;
v := @parameter: org.apache.camel.spi.DataFormat;
v := @parameter: org.apache.camel.spi.DataFormat;
v := @parameter: org.apache.camel.spi.DataFormat;
v := @parameter: org.apache.camel.spi.DataFormat;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v := @parameter: java.util.Set;
v := @parameter: java.util.Set;
specialinvoke v.<java.lang.Object: void <init>()>();
if v == null goto label;
v = new org.apache.camel.processor.UnmarshalProcessor;
specialinvoke v.<org.apache.camel.processor.UnmarshalProcessor: void <init>(org.apache.camel.spi.DataFormat)>(v);
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonUnmarshal> = v;
goto label;
label:
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonUnmarshal> = null;
label:
if v == null goto label;
v = new org.apache.camel.processor.MarshalProcessor;
specialinvoke v.<org.apache.camel.processor.MarshalProcessor: void <init>(org.apache.camel.spi.DataFormat)>(v);
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonMarshal> = v;
goto label;
label:
if v == null goto label;
v = new org.apache.camel.processor.MarshalProcessor;
specialinvoke v.<org.apache.camel.processor.MarshalProcessor: void <init>(org.apache.camel.spi.DataFormat)>(v);
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonMarshal> = v;
goto label;
label:
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonMarshal> = null;
label:
if v == null goto label;
v = new org.apache.camel.processor.UnmarshalProcessor;
specialinvoke v.<org.apache.camel.processor.UnmarshalProcessor: void <init>(org.apache.camel.spi.DataFormat)>(v);
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlUnmarshal> = v;
goto label;
label:
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlUnmarshal> = null;
label:
if v == null goto label;
v = new org.apache.camel.processor.MarshalProcessor;
specialinvoke v.<org.apache.camel.processor.MarshalProcessor: void <init>(org.apache.camel.spi.DataFormat)>(v);
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlMarshal> = v;
goto label;
label:
if v == null goto label;
v = new org.apache.camel.processor.MarshalProcessor;
specialinvoke v.<org.apache.camel.processor.MarshalProcessor: void <init>(org.apache.camel.spi.DataFormat)>(v);
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlMarshal> = v;
goto label;
label:
v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlMarshal> = null;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonMarshal>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonMarshal>;
interfaceinvoke v.<org.apache.camel.CamelContext: void addService(java.lang.Object,boolean)>(v, 1);
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonUnmarshal>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonUnmarshal>;
interfaceinvoke v.<org.apache.camel.CamelContext: void addService(java.lang.Object,boolean)>(v, 1);
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlMarshal>;
v = v instanceof org.apache.camel.CamelContextAware;
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlMarshal>;
interfaceinvoke v.<org.apache.camel.CamelContext: void addService(java.lang.Object,boolean)>(v, 1);
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlUnmarshal>;
v = v instanceof org.apache.camel.CamelContextAware;
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlUnmarshal>;
interfaceinvoke v.<org.apache.camel.CamelContext: void addService(java.lang.Object,boolean)>(v, 1);
label:
v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String consumes> = v;
v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String produces> = v;
v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode> = v;
v.<org.apache.camel.processor.RestBindingAdvice: boolean skipBindingOnErrorCode> = v;
v.<org.apache.camel.processor.RestBindingAdvice: boolean clientRequestValidation> = v;
v.<org.apache.camel.processor.RestBindingAdvice: boolean enableCORS> = v;
v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders> = v;
v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map queryDefaultValues> = v;
v.<org.apache.camel.processor.RestBindingAdvice: boolean requiredBody> = v;
v.<org.apache.camel.processor.RestBindingAdvice: java.util.Set requiredQueryParameters> = v;
v.<org.apache.camel.processor.RestBindingAdvice: java.util.Set requiredHeaders> = v;
return;
}
public java.util.Map before(org.apache.camel.Exchange) throws java.lang.Exception
{
org.apache.camel.processor.RestBindingAdvice v;
java.util.HashMap v;
org.apache.camel.Exchange v;
boolean v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: org.apache.camel.Exchange;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = specialinvoke v.<org.apache.camel.processor.RestBindingAdvice: boolean isOptionsMethod(org.apache.camel.Exchange,java.util.Map)>(v, v);
if v == 0 goto label;
return v;
label:
specialinvoke v.<org.apache.camel.processor.RestBindingAdvice: void unmarshal(org.apache.camel.Exchange,java.util.Map)>(v, v);
return v;
}
public void after(org.apache.camel.Exchange, java.util.Map) throws java.lang.Exception
{
org.apache.camel.processor.RestBindingAdvice v;
java.util.Map v;
java.lang.Object v;
org.apache.camel.Exchange v;
boolean v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.util.Map;
v = v.<org.apache.camel.processor.RestBindingAdvice: boolean enableCORS>;
if v == 0 goto label;
specialinvoke v.<org.apache.camel.processor.RestBindingAdvice: void setCORSHeaders(org.apache.camel.Exchange,java.util.Map)>(v, v);
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("doMarshal");
if v == null goto label;
specialinvoke v.<org.apache.camel.processor.RestBindingAdvice: void marshal(org.apache.camel.Exchange,java.util.Map)>(v, v);
label:
return;
}
private boolean isOptionsMethod(org.apache.camel.Exchange, java.util.Map)
{
org.apache.camel.Message v;
org.apache.camel.processor.RestBindingAdvice v;
org.apache.camel.Exchange v;
java.util.Map v;
java.lang.Boolean v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>("CamelHttpMethod", class "Ljava/lang/String;");
v = "OPTIONS";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
interfaceinvoke v.<org.apache.camel.Exchange: void setProperty(java.lang.String,java.lang.Object)>("CamelRouteStop", v);
return 1;
label:
return 0;
}
private void unmarshal(org.apache.camel.Exchange, java.util.Map) throws java.lang.Exception
{
java.lang.Integer v, v, v, v, v;
java.util.Map v, v, v, v, v;
java.util.Locale v, v, v, v;
org.apache.camel.spi.DataType v, v;
java.lang.Boolean v, v, v, v, v, v;
org.apache.camel.CamelContext v;
org.slf4j.Logger v, v;
java.lang.Object v, v, v, v, v, v, v;
java.util.Set v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.Message v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.processor.RestBindingAdvice v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.AsyncProcessor v, v, v, v;
org.apache.camel.Exchange v;
java.util.Iterator v;
org.apache.camel.processor.binding.BindingException v, v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.util.Map;
v = 0;
v = 0;
v = staticinvoke <org.apache.camel.util.ExchangeHelper: java.lang.String getContentType(org.apache.camel.Exchange)>(v);
if v == null goto label;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
label:
if v != 0 goto label;
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String consumes>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String consumes>;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String consumes>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String consumes>;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.CamelContext getContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: java.lang.Boolean isUseDataType()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = v instanceof org.apache.camel.spi.DataTypeAware;
if v == 0 goto label;
if v != 0 goto label;
if v == 0 goto label;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = new org.apache.camel.spi.DataType;
if v == 0 goto label;
v = "json";
goto label;
label:
v = "xml";
label:
specialinvoke v.<org.apache.camel.spi.DataType: void <init>(java.lang.String)>(v);
interfaceinvoke v.<org.apache.camel.spi.DataTypeAware: void setDataType(org.apache.camel.spi.DataType)>(v);
label:
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
if v != 0 goto label;
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getMessage()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>("Accept", class "Ljava/lang/String;");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("accept", v);
v = v.<org.apache.camel.processor.RestBindingAdvice: boolean clientRequestValidation>;
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String consumes>;
v = staticinvoke <org.apache.camel.processor.RestBindingAdvice: boolean isValidOrAcceptedContentType(java.lang.String,java.lang.String)>(v, v);
if v != 0 goto label;
v = <org.apache.camel.processor.RestBindingAdvice: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Consuming content type does not match contentType header {}. Stopping routing.", v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(415);
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("CamelHttpResponseCode", v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
interfaceinvoke v.<org.apache.camel.Exchange: void setProperty(java.lang.String,java.lang.Object)>("CamelRouteStop", v);
return;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String produces>;
v = staticinvoke <org.apache.camel.processor.RestBindingAdvice: boolean isValidOrAcceptedContentType(java.lang.String,java.lang.String)>(v, v);
if v != 0 goto label;
v = <org.apache.camel.processor.RestBindingAdvice: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Produced content type does not match accept header {}. Stopping routing.", v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(406);
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("CamelHttpResponseCode", v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
interfaceinvoke v.<org.apache.camel.Exchange: void setProperty(java.lang.String,java.lang.Object)>("CamelRouteStop", v);
return;
label:
v = null;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getBody()>();
if v == null goto label;
if v != 0 goto label;
if v == 0 goto label;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = staticinvoke <org.apache.camel.util.MessageHelper: java.lang.String extractBodyAsString(org.apache.camel.Message)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = v instanceof org.apache.camel.spi.DataTypeAware;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = v;
v = new org.apache.camel.spi.DataType;
if v == 0 goto label;
v = "json";
goto label;
label:
v = "xml";
label:
specialinvoke v.<org.apache.camel.spi.DataType: void <init>(java.lang.String)>(v);
interfaceinvoke v.<org.apache.camel.spi.DataTypeAware: void setBody(java.lang.Object,org.apache.camel.spi.DataType)>(v, v);
goto label;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>(v);
label:
if v == 0 goto label;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("<");
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map queryDefaultValues>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map queryDefaultValues>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String)>(v);
if v != null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: boolean clientRequestValidation>;
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: boolean requiredBody>;
if v == 0 goto label;
if v != null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = staticinvoke <org.apache.camel.util.MessageHelper: java.lang.String extractBodyAsString(org.apache.camel.Message)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>(v);
label:
if v != null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(400);
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("CamelHttpResponseCode", v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>("The request body is missing.");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
interfaceinvoke v.<org.apache.camel.Exchange: void setProperty(java.lang.String,java.lang.Object)>("CamelRouteStop", v);
return;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Set requiredQueryParameters>;
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Set requiredQueryParameters>;
v = interfaceinvoke v.<java.util.Set: boolean containsAll(java.util.Collection)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(400);
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("CamelHttpResponseCode", v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>("Some of the required query parameters are missing.");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
interfaceinvoke v.<org.apache.camel.Exchange: void setProperty(java.lang.String,java.lang.Object)>("CamelRouteStop", v);
return;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Set requiredHeaders>;
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.util.Map getHeaders()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Set requiredHeaders>;
v = interfaceinvoke v.<java.util.Set: boolean containsAll(java.util.Collection)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(400);
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("CamelHttpResponseCode", v);
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
interfaceinvoke v.<org.apache.camel.Message: void setBody(java.lang.Object)>("Some of the required HTTP headers are missing.");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
interfaceinvoke v.<org.apache.camel.Exchange: void setProperty(java.lang.String,java.lang.Object)>("CamelRouteStop", v);
return;
label:
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonUnmarshal>;
if v == null goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("doMarshal", "json");
v = staticinvoke <org.apache.camel.util.ObjectHelper: boolean isNotEmpty(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonUnmarshal>;
interfaceinvoke v.<org.apache.camel.AsyncProcessor: void process(org.apache.camel.Exchange)>(v);
staticinvoke <org.apache.camel.util.ExchangeHelper: void prepareOutToIn(org.apache.camel.Exchange)>(v);
label:
return;
label:
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlUnmarshal>;
if v == null goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("doMarshal", "xml");
v = staticinvoke <org.apache.camel.util.ObjectHelper: boolean isNotEmpty(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlUnmarshal>;
interfaceinvoke v.<org.apache.camel.AsyncProcessor: void process(org.apache.camel.Exchange)>(v);
staticinvoke <org.apache.camel.util.ExchangeHelper: void prepareOutToIn(org.apache.camel.Exchange)>(v);
label:
return;
label:
v = "off";
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v == 0 goto label;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("doMarshal", "json");
goto label;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
v = new org.apache.camel.processor.binding.BindingException;
specialinvoke v.<org.apache.camel.processor.binding.BindingException: void <init>(java.lang.String,org.apache.camel.Exchange)>("Cannot bind to xml as message body is not xml compatible", v);
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
goto label;
label:
v = new org.apache.camel.processor.binding.BindingException;
specialinvoke v.<org.apache.camel.processor.binding.BindingException: void <init>(java.lang.String,org.apache.camel.Exchange)>("Cannot bind to json as message body is not json compatible", v);
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
label:
return;
}
private void marshal(org.apache.camel.Exchange, java.util.Map)
{
java.util.Map v;
java.lang.Exception v;
java.lang.Throwable v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.Message v, v, v, v, v;
org.apache.camel.processor.RestBindingAdvice v;
java.util.Locale v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.spi.DataType v, v;
org.apache.camel.AsyncProcessor v, v, v, v, v, v;
org.apache.camel.Exchange v;
int v;
org.apache.camel.processor.binding.BindingException v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<org.apache.camel.Exchange: java.lang.Exception getException()>();
if v == null goto label;
return;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: boolean skipBindingOnErrorCode>;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>("CamelHttpResponseCode", class "Ljava/lang/Integer;");
goto label;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>("CamelHttpResponseCode", class "Ljava/lang/Integer;");
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v < 300 goto label;
return;
label:
v = 0;
v = 0;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("accept");
if v == null goto label;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
label:
if v != 0 goto label;
if v != 0 goto label;
v = staticinvoke <org.apache.camel.util.ExchangeHelper: java.lang.String getContentType(org.apache.camel.Exchange)>(v);
if v == null goto label;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
label:
if v != 0 goto label;
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String produces>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String produces>;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String produces>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String produces>;
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
if v == null goto label;
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("off");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("off");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v & v;
if v != 0 goto label;
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
if v == 0 goto label;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("doMarshal");
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>("xml");
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
label:
staticinvoke <org.apache.camel.util.ExchangeHelper: void prepareOutToIn(org.apache.camel.Exchange)>(v);
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String produces>;
specialinvoke v.<org.apache.camel.processor.RestBindingAdvice: void ensureHeaderContentType(java.lang.String,boolean,boolean,org.apache.camel.Exchange)>(v, v, v, v);
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
if v == null goto label;
v = "off";
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
return;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonMarshal>;
if v != null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlMarshal>;
if v != null goto label;
return;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getBody()>();
if v == null goto label;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getBody()>();
if v != null goto label;
label:
return;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>("Content-Type", class "Ljava/lang/String;");
v = <java.util.Locale: java.util.Locale US>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
label:
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonMarshal>;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor jsonMarshal>;
interfaceinvoke v.<org.apache.camel.AsyncProcessor: void process(org.apache.camel.Exchange)>(v);
v = new org.apache.camel.spi.DataType;
specialinvoke v.<org.apache.camel.spi.DataType: void <init>(java.lang.String)>("json");
specialinvoke v.<org.apache.camel.processor.RestBindingAdvice: void setOutputDataType(org.apache.camel.Exchange,org.apache.camel.spi.DataType)>(v, v);
goto label;
label:
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlMarshal>;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: org.apache.camel.AsyncProcessor xmlMarshal>;
interfaceinvoke v.<org.apache.camel.AsyncProcessor: void process(org.apache.camel.Exchange)>(v);
v = new org.apache.camel.spi.DataType;
specialinvoke v.<org.apache.camel.spi.DataType: void <init>(java.lang.String)>("xml");
specialinvoke v.<org.apache.camel.processor.RestBindingAdvice: void setOutputDataType(org.apache.camel.Exchange,org.apache.camel.spi.DataType)>(v, v);
goto label;
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("auto");
if v != 0 goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.lang.String bindingMode>;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v == 0 goto label;
v = new org.apache.camel.processor.binding.BindingException;
specialinvoke v.<org.apache.camel.processor.binding.BindingException: void <init>(java.lang.String,org.apache.camel.Exchange)>("Cannot bind to xml as message body is not xml compatible", v);
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
goto label;
label:
v = new org.apache.camel.processor.binding.BindingException;
specialinvoke v.<org.apache.camel.processor.binding.BindingException: void <init>(java.lang.String,org.apache.camel.Exchange)>("Cannot bind to json as message body is not json compatible", v);
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
label:
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.apache.camel.Exchange: void setException(java.lang.Throwable)>(v);
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void setOutputDataType(org.apache.camel.Exchange, org.apache.camel.spi.DataType)
{
org.apache.camel.Message v;
org.apache.camel.processor.RestBindingAdvice v;
org.apache.camel.spi.DataType v;
org.apache.camel.Exchange v;
boolean v, v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: org.apache.camel.spi.DataType;
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
goto label;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
label:
v = v instanceof org.apache.camel.spi.DataTypeAware;
if v == 0 goto label;
interfaceinvoke v.<org.apache.camel.spi.DataTypeAware: void setDataType(org.apache.camel.spi.DataType)>(v);
label:
return;
}
private void ensureHeaderContentType(java.lang.String, boolean, boolean, org.apache.camel.Exchange)
{
org.apache.camel.Message v, v, v;
org.apache.camel.processor.RestBindingAdvice v;
org.apache.camel.Exchange v;
java.lang.String v, v, v, v;
boolean v, v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.apache.camel.Exchange;
if v == null goto label;
v = staticinvoke <org.apache.camel.util.ExchangeHelper: java.lang.String getContentType(org.apache.camel.Exchange)>(v);
if v != null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("Content-Type", v);
label:
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.ExchangeHelper: java.lang.String getContentType(org.apache.camel.Exchange)>(v);
if v != null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("Content-Type", "application/json");
goto label;
label:
if v == 0 goto label;
v = staticinvoke <org.apache.camel.util.ExchangeHelper: java.lang.String getContentType(org.apache.camel.Exchange)>(v);
if v != null goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("Content-Type", "application/xml");
label:
return;
}
private void setCORSHeaders(org.apache.camel.Exchange, java.util.Map)
{
org.apache.camel.Message v, v, v;
org.apache.camel.processor.RestBindingAdvice v;
java.util.Map v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.camel.Exchange v;
java.lang.String v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.camel.processor.RestBindingAdvice;
v := @parameter: org.apache.camel.Exchange;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<org.apache.camel.Exchange: boolean hasOut()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getOut()>();
goto label;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
label:
v = v;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("Access-Control-Allow-Origin");
goto label;
label:
v = null;
label:
v = v;
if v != null goto label;
v = "*";
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("Access-Control-Allow-Methods");
goto label;
label:
v = null;
label:
v = v;
if v != null goto label;
v = "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH";
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("Access-Control-Allow-Headers");
goto label;
label:
v = null;
label:
v = v;
if v != null goto label;
v = "Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers";
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("Access-Control-Max-Age");
goto label;
label:
v = null;
label:
v = v;
if v != null goto label;
v = "3600";
label:
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
if v == null goto label;
v = v.<org.apache.camel.processor.RestBindingAdvice: java.util.Map corsHeaders>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("Access-Control-Allow-Credentials");
goto label;
label:
v = null;
label:
v = v;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.Message getIn()>();
v = interfaceinvoke v.<org.apache.camel.Message: java.lang.Object getHeader(java.lang.String,java.lang.Class)>("Origin", class "Ljava/lang/String;");
v = "true";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = "*";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
if v == null goto label;
v = v;
label:
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("Access-Control-Allow-Origin", v);
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("Access-Control-Allow-Methods", v);
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("Access-Control-Allow-Headers", v);
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("Access-Control-Max-Age", v);
if v == null goto label;
interfaceinvoke v.<org.apache.camel.Message: void setHeader(java.lang.String,java.lang.Object)>("Access-Control-Allow-Credentials", v);
label:
return;
}
private static boolean isValidOrAcceptedContentType(java.lang.String, java.lang.String)
{
java.util.Locale v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
if v != null goto label;
label:
return 1;
label:
v = "*/*";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("xml");
if v != 0 goto label;
return 0;
label:
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("json");
if v != 0 goto label;
return 0;
label:
return 1;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/processor/RestBindingAdvice;");
<org.apache.camel.processor.RestBindingAdvice: org.slf4j.Logger LOG> = v;
return;
}
}