Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package restx.server.simple.simple;
  
 
 import java.util.List;
 import java.util.Map;

User: xavierhanin Date: 2/16/13 Time: 1:57 PM
 
 public class SimpleRestxRequest  extends AbstractRequest {
     private final String restxPath;
     private final String apiPath;
     private final Request request;
 
     public SimpleRestxRequest(HttpSettings httpSettingsString apiPathRequest request) {
         super(httpSettings);
         this. = apiPath;
         this. = request;
         String path = request.getTarget().substring(apiPath.length());
         if (path.indexOf("?") != -1) {
             path = path.substring(0, path.indexOf("?"));
         }
         this. = path;
     }
 
     @Override
     protected String getBaseApiPath() {
         return ;
     }
 
     @Override
     protected String getLocalScheme() {
         return .isSecure() ? "https" : "http";
     }
 
     @Override
     public String getLocalClientAddress() {
         return .getClientAddress().getAddress().getHostAddress();
     }
 
     @Override
     public String getRestxPath() {
         return ;
     }
 
     @Override
     public String getRestxUri() {
         return getRestxPath() + (.getQuery().isEmpty() ? "" : "?" + .getQuery().toString());
     }
 
     @Override
     public String getHttpMethod() {
         return .getMethod();
     }
 
     @Override
     public Optional<StringgetQueryParam(String param) {
         return Optional.fromNullable(.getQuery().get(param));
     }
 
     @Override
     public List<StringgetQueryParams(String param) {
         return Lists.newArrayList(.getQuery().getAll(param));
     }
 
     @Override
         if ( == null) {
             ImmutableMap.Builder<StringImmutableList<String>> paramsBuilder = ImmutableMap.builder();
             Query query = .getQuery();
             for (String param : query.keySet()) {
                 paramsBuilder.put(param, ImmutableList.copyOf(query.getAll(param)));
             }
              = paramsBuilder.build();
         }
         return ;
     }
 
     @Override
     public Optional<StringgetHeader(String headerName) {
        return Optional.fromNullable(.getValue(headerName));
    }
    @Override
    public String getContentType() {
        return .getContentType().getType();
    }
    @Override
    public ImmutableMap<StringStringgetCookiesMap() {
        Map<StringStringcookies = Maps.newLinkedHashMap();
        for (Cookie cookie : .getCookies()) {
            cookies.put(cookie.getName(), cookie.getValue().replace("\\\"""\""));
        }
        return ImmutableMap.copyOf(cookies);
    }
    @Override
    public Optional<StringgetCookieValue(String cookieName) {
        return Optional.fromNullable(getCookiesMap().get(cookieName));
    }
    @Override
    public boolean isPersistentCookie(String cookie) {
        Map<StringStringcookiesMap = getCookiesMap();
        return cookiesMap.containsKey(cookie) ? .getCookie(cookie).getExpiry() > 0 : false;
    }
    @Override
    public InputStream getContentStream() throws IOException {
        /*
           maybe we could do this buffering only in dev mode?
           It is used to be able to read data again in case of json processing error.
         */
        if ( == null) {
             = new BufferedInputStream(.getInputStream()) {
                @Override
                public void close() throws IOException {
                    // NO OP, see #closeContentStream
                }
            };
            .mark(10 * 1024);
        }
        return ;
    }
    @Override
    public void closeContentStream() throws IOException {
        .close();
    }
    @Override
    @SuppressWarnings("unchecked")
    public <T> T unwrap(Class<T> clazz) {
        if (clazz == Request.class) {
            return (T) ;
        }
        throw new IllegalArgumentException("underlying implementation is " + Request.class.getName()
                + ", not " + clazz.getName());
    }
    @Override
    public Locale getLocale() {
        if (.getLocales() != null && !.getLocales().isEmpty()) {
            return .getLocales().get(0);
        }
        return Locale.getDefault();
    }
    @Override
    public ImmutableList<LocalegetLocales() {
        List<Localelocales = .getLocales();
        if (locales.isEmpty()) {
            return ImmutableList.of(Locale.getDefault());
        } else {
            return ImmutableList.copyOf(locales);
        }
    }
New to GrepCode? Check out our FAQ X