Example usage for org.apache.http.message BasicHttpEntityEnclosingRequest getEntity

List of usage examples for org.apache.http.message BasicHttpEntityEnclosingRequest getEntity

Introduction

In this page you can find the example usage for org.apache.http.message BasicHttpEntityEnclosingRequest getEntity.

Prototype

public HttpEntity getEntity() 

Source Link

Usage

From source file:com.flipkart.foxtrot.client.handlers.DummyEventHandler.java

@Override
public void handle(HttpRequest request, HttpResponse response, HttpContext context)
        throws HttpException, IOException {
    try {/*from   w w  w.  j  a  va  2  s  . co m*/
        BasicHttpEntityEnclosingRequest post = (BasicHttpEntityEnclosingRequest) request;
        List<Document> documents = mapper.readValue(EntityUtils.toByteArray(post.getEntity()),
                new TypeReference<List<Document>>() {
                });
        counter.addAndGet(documents.size());
        logger.info("Received {} documents.", documents.size());
    } catch (Exception e) {
        logger.error("Error: ", e);
    }
    response.setStatusCode(201);
}

From source file:co.cask.cdap.client.rest.handlers.StreamConfigHttpRequestHandler.java

@Override
public void handle(HttpRequest httpRequest, HttpResponse response, HttpContext httpContext)
        throws HttpException, IOException {

    RequestLine requestLine = httpRequest.getRequestLine();
    String method = requestLine.getMethod();
    int statusCode;
    if (!HttpMethod.PUT.equals(method)) {
        statusCode = HttpStatus.SC_NOT_IMPLEMENTED;
    } else {// w  w  w . j a v a  2 s . co m
        String uri = requestLine.getUri();
        String streamName = TestUtils.getStreamNameFromUri(uri);
        if (TestUtils.SUCCESS_STREAM_NAME.equals(streamName)) {
            statusCode = HttpStatus.SC_BAD_REQUEST;
            BasicHttpEntityEnclosingRequest request = (BasicHttpEntityEnclosingRequest) httpRequest;
            HttpEntity requestEntity = request.getEntity();
            if (requestEntity != null) {
                JsonObject jsonContent = RestClient.toJsonObject(requestEntity);
                if (jsonContent != null) {
                    long ttl = jsonContent.get(TTL_ATTRIBUTE_NAME).getAsLong();
                    if (ttl == RestTest.STREAM_TTL) {
                        statusCode = HttpStatus.SC_OK;
                    }
                }
            }
        } else if (TestUtils.AUTH_STREAM_NAME.equals(streamName)) {
            statusCode = TestUtils.authorize(httpRequest);
        } else {
            statusCode = TestUtils.getStatusCodeByStreamName(streamName);
        }
    }
    response.setStatusCode(statusCode);
}

From source file:co.cask.cdap.client.rest.handlers.StreamHttpRequestHandler.java

@Override
public void handle(HttpRequest httpRequest, HttpResponse response, HttpContext httpContext)
        throws HttpException, IOException {

    RequestLine requestLine = httpRequest.getRequestLine();
    String method = requestLine.getMethod();
    int statusCode;
    String uri = requestLine.getUri();
    String streamName = TestUtils.getStreamNameFromUri(uri + "/");
    if (HttpMethod.PUT.equals(method)) {
        if (TestUtils.AUTH_STREAM_NAME.equals(streamName)) {
            statusCode = TestUtils.authorize(httpRequest);
        } else {//from   w w  w. j av  a  2 s  . c  o  m
            statusCode = TestUtils.getStatusCodeByStreamName(streamName);
        }
    } else if (HttpMethod.POST.equals(method)) {
        String fullStreamName = streamName;
        streamName = streamName.replace(TestUtils.WRITER_TEST_STREAM_NAME_POSTFIX, StringUtils.EMPTY);
        if (TestUtils.AUTH_STREAM_NAME.equals(streamName)) {
            statusCode = TestUtils.authorize(httpRequest);
        } else if (TestUtils.WITH_CUSTOM_HEADER_STREAM_NAME.endsWith(streamName)) {
            Header testHeader = httpRequest.getFirstHeader(fullStreamName + "." + RestTest.TEST_HEADER_NAME);
            if (testHeader != null && RestTest.TEST_HEADER_VALUE.equals(testHeader.getValue())) {
                statusCode = HttpStatus.SC_OK;
            } else {
                statusCode = HttpStatus.SC_BAD_REQUEST;
            }
        } else {
            statusCode = TestUtils.getStatusCodeByStreamName(streamName);
        }
        if (HttpStatus.SC_OK == statusCode && !TestUtils.FILE_STREAM_NAME.equals(streamName)) {
            //check request content
            BasicHttpEntityEnclosingRequest request = (BasicHttpEntityEnclosingRequest) httpRequest;
            HttpEntity requestEntity = request.getEntity();
            if (requestEntity != null) {
                String content = RestClient.toString(requestEntity);
                if (!RestTest.EXPECTED_WRITER_CONTENT.equals(content)
                        && !TestUtils.ALLOW_ANY_EVENT_STREAM.equals(streamName)) {
                    statusCode = HttpStatus.SC_INTERNAL_SERVER_ERROR;
                }
            } else {
                statusCode = HttpStatus.SC_BAD_REQUEST;
            }
        }
    } else {
        statusCode = HttpStatus.SC_NOT_IMPLEMENTED;
    }
    response.setStatusCode(statusCode);
}

From source file:org.jsnap.http.base.HttpServlet.java

protected void doService(org.apache.http.HttpRequest request, org.apache.http.HttpResponse response)
        throws HttpException, IOException {
    // Client might keep the executing thread blocked for very long unless this header is added.
    response.addHeader(new Header(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE));
    // Create a wrapped request object.
    String uri, data;//from   w w w  .  jav  a2 s.  c o m
    String method = request.getRequestLine().getMethod();
    if (method.equals(HttpGet.METHOD_NAME)) {
        BasicHttpRequest get = (BasicHttpRequest) request;
        data = get.getRequestLine().getUri();
        int ix = data.indexOf('?');
        uri = (ix < 0 ? data : data.substring(0, ix));
        data = (ix < 0 ? "" : data.substring(ix + 1));
    } else if (method.equals(HttpPost.METHOD_NAME)) {
        BasicHttpEntityEnclosingRequest post = (BasicHttpEntityEnclosingRequest) request;
        HttpEntity postedEntity = post.getEntity();
        uri = post.getRequestLine().getUri();
        data = EntityUtils.toString(postedEntity);
    } else {
        response.setStatusCode(HttpStatus.SC_NOT_IMPLEMENTED);
        response.setHeader(new Header(HTTP.CONTENT_LEN, "0"));
        return;
    }
    String cookieLine = "";
    if (request.containsHeader(COOKIE)) {
        Header[] cookies = request.getHeaders(COOKIE);
        for (Header cookie : cookies) {
            if (cookieLine.length() > 0)
                cookieLine += "; ";
            cookieLine += cookie.getValue();
        }
    }
    HttpRequest req = new HttpRequest(uri, underlying, data, cookieLine);
    // Create a wrapped response object.
    ByteArrayOutputStream out = new ByteArrayOutputStream(BUFFER_SIZE);
    HttpResponse resp = new HttpResponse(out);
    // Do implementation specific processing.
    doServiceImpl(req, resp);
    out.flush(); // It's good practice to do this.
    // Do the actual writing to the actual response object.
    if (resp.redirectTo != null) {
        // Redirection is requested.
        resp.statusCode = HttpStatus.SC_MOVED_TEMPORARILY;
        response.setStatusCode(resp.statusCode);
        Header redirection = new Header(LOCATION, resp.redirectTo);
        response.setHeader(redirection);
        Logger.getLogger(HttpServlet.class).log(Level.DEBUG,
                "Status Code: " + Integer.toString(resp.statusCode));
        Logger.getLogger(HttpServlet.class).log(Level.DEBUG, redirection.toString());
    } else {
        // There will be a response entity.
        response.setStatusCode(resp.statusCode);
        HttpEntity entity;
        Header contentTypeHeader;
        boolean text = resp.contentType.startsWith(Formatter.TEXT);
        if (text) { // text/* ...
            entity = new StringEntity(out.toString(resp.characterSet), resp.characterSet);
            contentTypeHeader = new Header(HTTP.CONTENT_TYPE,
                    resp.contentType + HTTP.CHARSET_PARAM + resp.characterSet);
        } else { // application/octet-stream, image/* ...
            entity = new ByteArrayEntity(out.toByteArray());
            contentTypeHeader = new Header(HTTP.CONTENT_TYPE, resp.contentType);
        }
        boolean acceptsGzip = clientAcceptsGzip(request);
        long contentLength = entity.getContentLength();
        // If client accepts gzipped content, the implementing object requested that response
        // gets gzipped and size of the response exceeds implementing object's size threshold
        // response entity will be gzipped.
        boolean gzipped = false;
        if (acceptsGzip && resp.zipSize > 0 && contentLength >= resp.zipSize) {
            ByteArrayOutputStream zipped = new ByteArrayOutputStream(BUFFER_SIZE);
            GZIPOutputStream gzos = new GZIPOutputStream(zipped);
            entity.writeTo(gzos);
            gzos.close();
            entity = new ByteArrayEntity(zipped.toByteArray());
            contentLength = zipped.size();
            gzipped = true;
        }
        // This is where true writes are made.
        Header contentLengthHeader = new Header(HTTP.CONTENT_LEN, Long.toString(contentLength));
        Header contentEncodingHeader = null;
        response.setHeader(contentTypeHeader);
        response.setHeader(contentLengthHeader);
        if (gzipped) {
            contentEncodingHeader = new Header(CONTENT_ENCODING, Formatter.GZIP);
            response.setHeader(contentEncodingHeader);
        }
        response.setEntity(entity);
        // Log critical headers.
        Logger.getLogger(HttpServlet.class).log(Level.DEBUG,
                "Status Code: " + Integer.toString(resp.statusCode));
        Logger.getLogger(HttpServlet.class).log(Level.DEBUG, contentTypeHeader.toString());
        if (gzipped)
            Logger.getLogger(HttpServlet.class).log(Level.DEBUG, contentEncodingHeader.toString());
        Logger.getLogger(HttpServlet.class).log(Level.DEBUG, contentLengthHeader.toString());
    }
    // Log cookies.
    for (Cookie cookie : resp.cookies) {
        if (cookie.valid()) {
            Header h = new Header(SET_COOKIE, cookie.toString());
            response.addHeader(h);
            Logger.getLogger(HttpServlet.class).log(Level.DEBUG, h.toString());
        }
    }
}

From source file:org.vietspider.server.handler.cms.metas.EditContentHandler.java

@Override
public String handle(HttpRequest request, HttpResponse response, HttpContext context, String... params)
        throws Exception {
    //    System.out.println(" da vao day roi ===  >"+ params[0]);
    try {//  w  w w  . j a v  a 2s.  c o m
        if (params[0].equals("SAVE")) {

            BasicHttpEntityEnclosingRequest entityRequest = (BasicHttpEntityEnclosingRequest) request;
            ByteArrayOutputStream input = RWData.getInstance()
                    .loadInputStream(entityRequest.getEntity().getContent());
            String value = new String(input.toByteArray(), Application.CHARSET).trim();

            Map<String, String> dataValues = URLUtils.getParams(value);
            String metaId = dataValues.get("article_id");

            String title = dataValues.get("article_title");
            title = title.replace('\'', '"');

            String desc = dataValues.get("article_desc");
            desc = desc.replace('\'', '"');

            String newContent = dataValues.get("VSEditor");
            newContent = newContent.replace('\'', '"');

            //      java.io.File cFile  = new java.io.File("F:\\Temp\\title_des\\a.txt");
            newContent = new String(new RefsDecoder().decode(newContent.toCharArray()));
            //      org.vietspider.common.io.DataWriter buffer = org.vietspider.common.io.RWData.getInstance();
            //      try {
            //        buffer.save(cFile, newContent.getBytes("utf-8"));
            //      } catch (Exception e) {
            //        e.printStackTrace();
            //      }

            DatabaseService.getSaver().save(metaId, title, desc, newContent);

            reindex(metaId);

            Article article = loadDatabase(metaId);
            //        System.out.println(" chuan bi editor "+ metaId);
            EIDFolder2.write(article.getDomain(), metaId, Article.EDITED);

            //        IDTracker.getInstance().update(metaId, Article.EDITED);

            //        String userName = 
            //        Header userHeader = request.getFirstHeader("username");
            //        Header fileHeader = request.getFirstHeader("file");
            //        if(userHeader == null  || fileHeader == null) throw new InvalidActionHandler();
            //
            //        String message = new NameConverter().decode(fileHeader.getValue());
            //        if(userHeader != null) {
            //        ActionUserLogService.getLog(metaId, userHeader.geth )
            //        }
            //        UserActionTracker.getInstance().append(new ActionUser("", ActionUser.EDIT, metaId));

            StringBuilder builder = new StringBuilder();
            builder.append("<html>");
            builder.append("<head>");
            builder.append("<meta http-equiv=\"Refresh\" content=\"2;URL=").append("../DETAIL/").append(metaId)
                    .append("/-4").append("\">");
            builder.append("</head>");
            //        builder.append("<body  onload=\"javascript:window.history.go(-2);\">");
            //        builder.append("<script language=javascript>setTimeout('window.location.reload(window.history.go(-2))', 2000);</script>");
            //        builder.append("<body onload=\"javascript:window.location.reload(history.go(-2));\">");
            builder.append("<body>");
            builder.append("Save Successfull!");
            builder.append("</body>");
            builder.append("</html>");
            setOutputData(request, response, "text/html", builder.toString().getBytes());
            return "text/html";
        }
    } catch (Exception e) {
        LogService.getInstance().setThrowable(e);
    }

    StringBuilder path = new StringBuilder();
    for (String param : params) {
        if (path.length() > 0)
            path.append('/');
        path.append(param);
    }

    return write(request, response, context, path.toString());
}

From source file:com.navjagpal.fileshare.WebServer.java

private void handleLoginRequest(DefaultHttpServerConnection serverConnection, HttpRequest request,
        RequestLine requestLine) throws HttpException, IOException {

    BasicHttpEntityEnclosingRequest enclosingRequest = new BasicHttpEntityEnclosingRequest(
            request.getRequestLine());//w w w.  java 2 s  . c  o  m
    serverConnection.receiveRequestEntity(enclosingRequest);

    InputStream input = enclosingRequest.getEntity().getContent();
    InputStreamReader reader = new InputStreamReader(input);

    StringBuffer form = new StringBuffer();
    while (reader.ready()) {
        form.append((char) reader.read());
    }
    String password = form.substring(form.indexOf("=") + 1);
    if (password.equals(mSharedPreferences.getString(FileSharingService.PREFS_PASSWORD, ""))) {
        HttpResponse response = new BasicHttpResponse(new HttpVersion(1, 1), 302, "Found");
        response.addHeader("Location", "/");
        response.addHeader("Set-Cookie", "id=" + createCookie());
        response.setEntity(new StringEntity(getHTMLHeader() + "Success!" + getHTMLFooter()));
        serverConnection.sendResponseHeader(response);
        serverConnection.sendResponseEntity(response);
    } else {
        HttpResponse response = new BasicHttpResponse(new HttpVersion(1, 1), 401, "Unauthorized");
        response.setEntity(
                new StringEntity(getHTMLHeader() + "<p>Login failed.</p>" + getLoginForm() + getHTMLFooter()));
        serverConnection.sendResponseHeader(response);
        serverConnection.sendResponseEntity(response);
    }
}

From source file:com.navjagpal.fileshare.WebServer.java

@SuppressWarnings("deprecation")
public void processUpload(String folderId, HttpRequest request, DefaultHttpServerConnection serverConnection)
        throws IOException, HttpException {

    /* Find the boundary and the content length. */
    String contentType = request.getFirstHeader("Content-Type").getValue();
    String boundary = contentType.substring(contentType.indexOf("boundary=") + "boundary=".length());
    BasicHttpEntityEnclosingRequest enclosingRequest = new BasicHttpEntityEnclosingRequest(
            request.getRequestLine());/*www . j  a  v  a  2 s .  c o  m*/
    serverConnection.receiveRequestEntity(enclosingRequest);

    InputStream input = enclosingRequest.getEntity().getContent();
    MultipartStream multipartStream = new MultipartStream(input, boundary.getBytes());
    String headers = multipartStream.readHeaders();

    /* Get the filename. */
    StringTokenizer tokens = new StringTokenizer(headers, ";", false);
    String filename = null;
    while (tokens.hasMoreTokens() && filename == null) {
        String token = tokens.nextToken().trim();
        if (token.startsWith("filename=")) {
            filename = URLDecoder.decode(token.substring("filename=\"".length(), token.lastIndexOf("\"")),
                    "utf8");
        }
    }

    File uploadDirectory = new File("/sdcard/fileshare/uploads");
    if (!uploadDirectory.exists()) {
        uploadDirectory.mkdirs();
    }

    /* Write the file and add it to the shared folder. */
    File uploadFile = new File(uploadDirectory, filename);
    FileOutputStream output = new FileOutputStream(uploadFile);
    multipartStream.readBodyData(output);
    output.close();

    Uri fileUri = Uri.withAppendedPath(FileProvider.CONTENT_URI, uploadFile.getAbsolutePath());
    Uri folderUri = Uri.withAppendedPath(FileSharingProvider.Folders.CONTENT_URI, folderId);
    FileSharingProvider.addFileToFolder(mContext.getContentResolver(), fileUri, folderUri);
}

From source file:ut.ee.mh.WebServer.java

private void handleLocationRequest(DefaultHttpServerConnection serverConnection, HttpRequest request,
        RequestLine requestLine) throws HttpException, IOException {

    BasicHttpEntityEnclosingRequest enclosingRequest = new BasicHttpEntityEnclosingRequest(
            request.getRequestLine());//from   w  w  w . j  av a2  s  . c  om
    serverConnection.receiveRequestEntity(enclosingRequest);

    InputStream input = enclosingRequest.getEntity().getContent();
    InputStreamReader reader = new InputStreamReader(input);

    StringBuffer form = new StringBuffer();
    while (reader.ready()) {
        form.append((char) reader.read());
    }
    String password = form.substring(form.indexOf("=") + 1);

    if (password.equals(mSharedPreferences.getString(FileSharingService.PREFS_PASSWORD, ""))) {
        HttpResponse response = new BasicHttpResponse(new HttpVersion(1, 1), 302, "Found");
        response.addHeader("Location", "/");
        response.addHeader("Set-Cookie", "id=" + createCookie());
        response.setEntity(new StringEntity(getHTMLHeader() + "Success!" + getHTMLFooter()));
        serverConnection.sendResponseHeader(response);
        serverConnection.sendResponseEntity(response);
    } else {
        HttpResponse response = new BasicHttpResponse(new HttpVersion(1, 1), 401, "Unauthorized");
        response.setEntity(
                new StringEntity(getHTMLHeader() + "<p>Login failed.</p>" + getLoginForm() + getHTMLFooter()));
        serverConnection.sendResponseHeader(response);
        serverConnection.sendResponseEntity(response);
    }
}