utils: refactor HTTP transport stuff to HttpUtils

Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/42230432
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/42230432
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/42230432

Branch: refs/heads/auth-refactor
Commit: 42230432754e6ade13a449a2799653f295258512
Parents: 6cef9b2
Author: Rohit Yadav <rohit.ya...@shapeblue.com>
Authored: Tue Aug 12 10:04:01 2014 +0200
Committer: Rohit Yadav <rohit.ya...@shapeblue.com>
Committed: Tue Aug 12 10:04:01 2014 +0200

----------------------------------------------------------------------
 utils/src/com/cloud/utils/HttpUtils.java | 56 +++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/42230432/utils/src/com/cloud/utils/HttpUtils.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/HttpUtils.java 
b/utils/src/com/cloud/utils/HttpUtils.java
new file mode 100644
index 0000000..f608b86
--- /dev/null
+++ b/utils/src/com/cloud/utils/HttpUtils.java
@@ -0,0 +1,56 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.utils;
+
+import org.apache.log4j.Logger;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+public class HttpUtils {
+
+    public static final Logger s_logger = Logger.getLogger(HttpUtils.class);
+
+    public static final String UTF_8 = "UTF-8";
+    public static final String RESPONSE_TYPE_JSON = "json";
+    public static final String RESPONSE_TYPE_XML = "xml";
+    public static final String JSON_CONTENT_TYPE = "text/javascript; 
charset=UTF-8";
+    public static final String XML_CONTENT_TYPE = "text/xml; charset=UTF-8";
+
+    public static void writeHttpResponse(final HttpServletResponse resp, final 
String response,
+                                         final Integer responseCode, final 
String responseType) {
+        try {
+            if (RESPONSE_TYPE_JSON.equalsIgnoreCase(responseType)) {
+                resp.setContentType(JSON_CONTENT_TYPE);
+            } else if (RESPONSE_TYPE_XML.equalsIgnoreCase(responseType)){
+                resp.setContentType(XML_CONTENT_TYPE);
+            }
+            if (responseCode != null) {
+                resp.setStatus(responseCode);
+            }
+            resp.getWriter().print(response);
+        } catch (final IOException ioex) {
+            if (s_logger.isTraceEnabled()) {
+                s_logger.trace("Exception writing http response: " + ioex);
+            }
+        } catch (final Exception ex) {
+            if (!(ex instanceof IllegalStateException)) {
+                s_logger.error("Unknown exception writing http response", ex);
+            }
+        }
+    }
+}

Reply via email to