001 package com.khubla.pragmatach.framework.api;
002
003 import java.util.Enumeration;
004 import java.util.HashMap;
005 import java.util.Map;
006
007 import javax.servlet.http.HttpServletRequest;
008 import javax.servlet.http.HttpServletResponse;
009
010 /**
011 * @author tome
012 */
013 public class Headers {
014 /**
015 * HttpServletRequest
016 */
017 private final HttpServletRequest httpServletRequest;
018 /**
019 * HttpServletResponse
020 */
021 private final HttpServletResponse httpServletResponse;
022
023 /**
024 * ctor
025 */
026 public Headers(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
027 this.httpServletRequest = httpServletRequest;
028 this.httpServletResponse = httpServletResponse;
029 }
030
031 /**
032 * Accept-Language
033 */
034 public String getAcceptLanguage() {
035 return httpServletRequest.getHeader("Accept-Language");
036 }
037
038 /**
039 * get content type
040 */
041 String getContentType() {
042 return httpServletRequest.getContentType();
043 }
044
045 /**
046 * headers
047 */
048 public Map<String, String> getHeaders() {
049 final Map<String, String> ret = new HashMap<String, String>();
050 final Enumeration<String> enumer = httpServletRequest.getHeaderNames();
051 while (enumer.hasMoreElements()) {
052 final String key = enumer.nextElement();
053 ret.put(key, httpServletRequest.getHeader(key));
054 }
055 return ret;
056 }
057
058 /**
059 * pragma
060 */
061 public String[] getPragma() {
062 final String pragmas = httpServletRequest.getHeader("Pragma");
063 if (null != pragmas) {
064 return pragmas.split(",");
065 }
066 return null;
067 }
068
069 /**
070 * referer
071 */
072 public String getReferer() {
073 return httpServletRequest.getHeader("referer");
074 }
075
076 /**
077 * User-Agent
078 */
079 public String getUserAgent() {
080 return httpServletRequest.getHeader("User-Agent");
081 }
082
083 /**
084 * Via
085 */
086 public String getVia() {
087 return httpServletRequest.getHeader("Via");
088 }
089
090 /**
091 * set header
092 */
093 public void setHeader(String name, String value) {
094 httpServletResponse.setHeader(name, value);
095 }
096 }