This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-3.0.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.0.x by this push:
new be73f4d CAMEL-14361 Update to avoid reflection in creating http
method (#3469)
be73f4d is described below
commit be73f4d60cf10dc5338657b376709bf48ca72dff
Author: Amos Feng <[email protected]>
AuthorDate: Thu Jan 9 15:39:10 2020 +0800
CAMEL-14361 Update to avoid reflection in creating http method (#3469)
---
.../apache/camel/component/http/HttpMethods.java | 23 ++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMethods.java
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMethods.java
index 6302580..8b81704 100644
---
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMethods.java
+++
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpMethods.java
@@ -51,8 +51,27 @@ public enum HttpMethods implements Expression {
public HttpRequestBase createMethod(final String url) {
try {
- return clazz.getDeclaredConstructor(String.class).newInstance(url);
- } catch (Exception e) {
+ switch (this) {
+ case GET:
+ return new HttpGet(url);
+ case PATCH:
+ return new HttpPatch(url);
+ case POST:
+ return new HttpPost(url);
+ case PUT:
+ return new HttpPut(url);
+ case DELETE:
+ return new HttpDelete(url);
+ case HEAD:
+ return new HttpHead(url);
+ case OPTIONS:
+ return new HttpOptions(url);
+ case TRACE:
+ return new HttpTrace(url);
+ default:
+ throw new RuntimeException("no such method " + this);
+ }
+ } catch (IllegalArgumentException e) {
throw new RuntimeException(e);
}
}