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