1
2
3
4
5
6
7 package org.mule.transport.http.config;
8
9
10
11 import org.mule.config.spring.handlers.AbstractMuleNamespaceHandler;
12 import org.mule.config.spring.parsers.collection.ChildListEntryDefinitionParser;
13 import org.mule.config.spring.parsers.collection.ChildMapEntryDefinitionParser;
14 import org.mule.config.spring.parsers.generic.MuleOrphanDefinitionParser;
15 import org.mule.config.spring.parsers.generic.ParentDefinitionParser;
16 import org.mule.config.spring.parsers.specific.ComponentDefinitionParser;
17 import org.mule.config.spring.parsers.specific.FilterDefinitionParser;
18 import org.mule.config.spring.parsers.specific.MessageProcessorDefinitionParser;
19 import org.mule.config.spring.parsers.specific.SecurityFilterDefinitionParser;
20 import org.mule.endpoint.URIBuilder;
21 import org.mule.transport.http.HttpConnector;
22 import org.mule.transport.http.HttpConstants;
23 import org.mule.transport.http.HttpPollingConnector;
24 import org.mule.transport.http.components.RestServiceWrapper;
25 import org.mule.transport.http.filters.HttpBasicAuthenticationFilter;
26 import org.mule.transport.http.filters.HttpRequestWildcardFilter;
27 import org.mule.transport.http.transformers.HttpClientMethodResponseToObject;
28 import org.mule.transport.http.transformers.HttpRequestBodyToParamMap;
29 import org.mule.transport.http.transformers.HttpResponseToString;
30 import org.mule.transport.http.transformers.MuleMessageToHttpResponse;
31 import org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest;
32
33
34
35
36 public class HttpNamespaceHandler extends AbstractMuleNamespaceHandler
37 {
38 public void init()
39 {
40 registerStandardTransportEndpoints(HttpConnector.HTTP, URIBuilder.SOCKET_ATTRIBUTES)
41 .addAlias("contentType", HttpConstants.HEADER_CONTENT_TYPE)
42 .addAlias("method", HttpConnector.HTTP_METHOD_PROPERTY);
43
44 registerConnectorDefinitionParser(HttpConnector.class);
45 registerBeanDefinitionParser("polling-connector", new MuleOrphanDefinitionParser(HttpPollingConnector.class, true));
46
47 registerBeanDefinitionParser("rest-service-component", new ComponentDefinitionParser(RestServiceWrapper.class));
48 registerBeanDefinitionParser("payloadParameterName", new ChildListEntryDefinitionParser("payloadParameterNames", ChildMapEntryDefinitionParser.VALUE));
49 registerBeanDefinitionParser("requiredParameter", new ChildMapEntryDefinitionParser("requiredParams"));
50 registerBeanDefinitionParser("optionalParameter", new ChildMapEntryDefinitionParser("optionalParams"));
51
52 registerBeanDefinitionParser("http-response-to-object-transformer", new MessageProcessorDefinitionParser(HttpClientMethodResponseToObject.class));
53 registerBeanDefinitionParser("http-response-to-string-transformer", new MessageProcessorDefinitionParser(HttpResponseToString.class));
54 registerBeanDefinitionParser("object-to-http-request-transformer", new MessageProcessorDefinitionParser(ObjectToHttpClientMethodRequest.class));
55 registerBeanDefinitionParser("message-to-http-response-transformer", new MessageProcessorDefinitionParser(MuleMessageToHttpResponse.class));
56 registerBeanDefinitionParser("body-to-parameter-map-transformer", new MessageProcessorDefinitionParser(HttpRequestBodyToParamMap.class));
57
58 registerBeanDefinitionParser("error-filter", new ParentDefinitionParser());
59 registerBeanDefinitionParser("request-wildcard-filter", new FilterDefinitionParser(HttpRequestWildcardFilter.class));
60 registerBeanDefinitionParser("basic-security-filter", new SecurityFilterDefinitionParser(HttpBasicAuthenticationFilter.class));
61 }
62 }