Example usage for io.netty.handler.codec.http HttpMethod DELETE

List of usage examples for io.netty.handler.codec.http HttpMethod DELETE

Introduction

In this page you can find the example usage for io.netty.handler.codec.http HttpMethod DELETE.

Prototype

HttpMethod DELETE

To view the source code for io.netty.handler.codec.http HttpMethod DELETE.

Click Source Link

Document

The DELETE method requests that the origin server delete the resource identified by the Request-URI.

Usage

From source file:io.advantageous.conekt.http.impl.HttpServerRequestImpl.java

License:Open Source License

@Override
public HttpServerRequest setExpectMultipart(boolean expect) {
    synchronized (conn) {
        checkEnded();/*w w  w.j  av a  2  s  .com*/
        if (expect) {
            if (decoder == null) {
                String contentType = request.headers().get(HttpHeaders.Names.CONTENT_TYPE);
                if (contentType != null) {
                    HttpMethod method = request.getMethod();
                    String lowerCaseContentType = contentType.toLowerCase();
                    boolean isURLEncoded = lowerCaseContentType
                            .startsWith(HttpHeaders.Values.APPLICATION_X_WWW_FORM_URLENCODED);
                    if ((lowerCaseContentType.startsWith(HttpHeaders.Values.MULTIPART_FORM_DATA)
                            || isURLEncoded)
                            && (method.equals(HttpMethod.POST) || method.equals(HttpMethod.PUT)
                                    || method.equals(HttpMethod.PATCH) || method.equals(HttpMethod.DELETE))) {
                        decoder = new HttpPostRequestDecoder(new DataFactory(), request);
                    }
                }
            }
        } else {
            decoder = null;
        }
        return this;
    }
}

From source file:io.crate.protocols.http.HttpBlobHandler.java

License:Apache License

private void handleBlobRequest(HttpRequest request, @Nullable HttpContent content) throws IOException {
    if (possibleRedirect(request, index, digest)) {
        reset();//from  ww w .  j  av  a 2 s . c  om
        return;
    }

    HttpMethod method = request.method();
    if (method.equals(HttpMethod.GET)) {
        get(request, index, digest);
        reset();
    } else if (method.equals(HttpMethod.HEAD)) {
        head(index, digest);
        reset();
    } else if (method.equals(HttpMethod.PUT)) {
        put(content, index, digest);
    } else if (method.equals(HttpMethod.DELETE)) {
        delete(index, digest);
        reset();
    } else {
        simpleResponse(HttpResponseStatus.METHOD_NOT_ALLOWED);
        reset();
    }
}

From source file:io.liveoak.container.protocols.http.HttpResourceRequestDecoder.java

License:Open Source License

@Override
protected void decode(ChannelHandlerContext ctx, DefaultHttpRequest msg, List<Object> out) throws Exception {

    URI uri = new URI(msg.getUri());
    String query = uri.getRawQuery();
    if (query == null) {
        query = "?";
    } else {/*from   w  w w .j a v  a2s .  c  o  m*/
        query = "?" + query;
    }

    QueryStringDecoder decoder = new QueryStringDecoder(query);

    String path = uri.getPath();

    int lastDotLoc = path.lastIndexOf('.');

    String extension = null;

    if (lastDotLoc > 0) {
        extension = path.substring(lastDotLoc + 1);
    }

    String acceptHeader = msg.headers().get(HttpHeaders.Names.ACCEPT);
    if (acceptHeader == null) {
        acceptHeader = "application/json";
    }
    MediaTypeMatcher mediaTypeMatcher = new DefaultMediaTypeMatcher(acceptHeader, extension);

    ResourceParams params = DefaultResourceParams.instance(decoder.parameters());

    // for cases when content is preset, and bypasses HttpRequestBodyHandler
    ByteBuf content = null;
    if (msg instanceof DefaultFullHttpRequest) {
        content = ((DefaultFullHttpRequest) msg).content().retain();
    }

    if (msg.getMethod().equals(HttpMethod.POST)) {
        String contentTypeHeader = msg.headers().get(HttpHeaders.Names.CONTENT_TYPE);
        MediaType contentType = new MediaType(contentTypeHeader);
        out.add(new DefaultResourceRequest.Builder(RequestType.CREATE, new ResourcePath(path))
                .resourceParams(params).mediaTypeMatcher(mediaTypeMatcher)
                .requestAttribute(HttpHeaders.Names.AUTHORIZATION,
                        msg.headers().get(HttpHeaders.Names.AUTHORIZATION))
                .requestAttribute(HttpHeaders.Names.CONTENT_TYPE, contentType)
                .requestAttribute(HTTP_REQUEST, msg)
                .resourceState(new DefaultLazyResourceState(codecManager, contentType, content)).build());
    } else if (msg.getMethod().equals(HttpMethod.GET)) {
        out.add(new DefaultResourceRequest.Builder(RequestType.READ, new ResourcePath(path))
                .resourceParams(params).mediaTypeMatcher(mediaTypeMatcher)
                .requestAttribute(HttpHeaders.Names.AUTHORIZATION,
                        msg.headers().get(HttpHeaders.Names.AUTHORIZATION))
                .requestAttribute(HttpHeaders.Names.ACCEPT, new MediaType(acceptHeader))
                .requestAttribute(HTTP_REQUEST, msg).pagination(decodePagination(params))
                .returnFields(decodeReturnFields(params)).sorting(decodeSorting(params)).build());
    } else if (msg.getMethod().equals(HttpMethod.PUT)) {
        String contentTypeHeader = msg.headers().get(HttpHeaders.Names.CONTENT_TYPE);
        MediaType contentType = new MediaType(contentTypeHeader);
        out.add(new DefaultResourceRequest.Builder(RequestType.UPDATE, new ResourcePath(path))
                .resourceParams(params).mediaTypeMatcher(mediaTypeMatcher)
                .requestAttribute(HttpHeaders.Names.AUTHORIZATION,
                        msg.headers().get(HttpHeaders.Names.AUTHORIZATION))
                .requestAttribute(HttpHeaders.Names.CONTENT_TYPE, contentType)
                .requestAttribute(HTTP_REQUEST, msg)
                .resourceState(new DefaultLazyResourceState(codecManager, contentType, content)).build());
    } else if (msg.getMethod().equals(HttpMethod.DELETE)) {
        out.add(new DefaultResourceRequest.Builder(RequestType.DELETE, new ResourcePath(path))
                .resourceParams(params).mediaTypeMatcher(mediaTypeMatcher)
                .requestAttribute(HttpHeaders.Names.AUTHORIZATION,
                        msg.headers().get(HttpHeaders.Names.AUTHORIZATION))
                .requestAttribute(HttpHeaders.Names.ACCEPT, new MediaType(acceptHeader))
                .requestAttribute(HTTP_REQUEST, msg).build());
    }
}

From source file:io.liveoak.container.protocols.http.HttpResourceRequestDecoderTest.java

License:Open Source License

@Test
public void testDecodeDelete() throws Exception {
    DefaultResourceRequest decoded = decode(HttpMethod.DELETE, "/memory/people/bob");

    assertThat(decoded.requestType()).isEqualTo(RequestType.DELETE);

    assertThat(decoded.resourcePath().segments()).hasSize(3);
    assertThat(decoded.resourcePath().segments().get(0).name()).isEqualTo("memory");
    assertThat(decoded.resourcePath().segments().get(1).name()).isEqualTo("people");
    assertThat(decoded.resourcePath().segments().get(2).name()).isEqualTo("bob");

    //assertThat(decoded.mediaType()).isEqualTo(MediaType.JSON);

    assertThat(decoded.requestContext().pagination()).isNotNull();
    assertThat(decoded.requestContext().pagination()).isEqualTo(Pagination.NONE);

    assertThat(decoded.state()).isNull();
}

From source file:io.reactivex.netty.protocol.http.client.HttpClientRequest.java

License:Apache License

public static HttpClientRequest<ByteBuf> createDelete(String uri) {
    return create(HttpMethod.DELETE, uri);
}

From source file:io.selendroid.server.BaseTest.java

License:Apache License

public HttpResponse executeRequest(String url, HttpMethod method) throws Exception {
    HttpRequestBase request;/*from  www.  j a  va2s .c o  m*/
    if (HttpMethod.GET.equals(method)) {
        request = new HttpGet(url);
    } else if (HttpMethod.POST.equals(method)) {
        request = new HttpPost(url);
    } else if (HttpMethod.DELETE.equals(method)) {
        request = new HttpDelete(url);
    } else {
        throw new RuntimeException("Provided HttpMethod not supported");
    }
    return executeRequest(request);
}

From source file:io.selendroid.server.GetStatusTest.java

License:Apache License

@Test
public void assertThatGetStatusHandlerIsNotRegisteredForDelete() throws Exception {
    String url = "http://" + host + ":" + server.getPort() + "/wd/hub/status";
    HttpResponse response = executeRequest(url, HttpMethod.DELETE);
    SelendroidAssert.assertResponseIsResourceNotFound(response);
}

From source file:io.selendroid.server.handler.RequestRedirectHandler.java

License:Apache License

private JSONObject redirectRequest(HttpRequest request, ActiveSession session, String url, String method)
        throws Exception {

    HttpResponse r = null;//  w w w .  j av a  2 s  .co  m
    if ("get".equalsIgnoreCase(method)) {
        log.info("GET redirect to: " + url);
        r = HttpClientUtil.executeRequest(url, HttpMethod.GET);
    } else if ("post".equalsIgnoreCase(method)) {
        log.info("POST redirect to: " + url);
        JSONObject payload = getPayload(request);
        log.info("Payload? " + payload);
        r = HttpClientUtil.executeRequestWithPayload(url, session.getSelendroidServerPort(), HttpMethod.POST,
                payload.toString());
    } else if ("delete".equalsIgnoreCase(method)) {
        log.info("DELETE redirect to: " + url);
        r = HttpClientUtil.executeRequest(url, HttpMethod.DELETE);
    } else {
        throw new SelendroidException("HTTP method not supported: " + method);
    }
    return HttpClientUtil.parseJsonResponse(r);
}

From source file:io.selendroid.server.model.SelendroidStandaloneDriver.java

License:Apache License

public void stopSession(String sessionId) throws AndroidDeviceException {
    if (isValidSession(sessionId)) {
        ActiveSession session = sessions.get(sessionId);
        session.stopSessionTimer();/*w w  w  . ja  v  a  2 s. co m*/
        try {
            HttpClientUtil.executeRequest(
                    "http://localhost:" + session.getSelendroidServerPort() + "/wd/hub/session/" + sessionId,
                    HttpMethod.DELETE);
        } catch (Exception e) {
            // can happen, ignore
        }
        deviceStore.release(session.getDevice(), session.getAut());

        // remove session
        sessions.remove(sessionId);
    }
}

From source file:io.selendroid.server.SelendroidSatusHandlerTest.java

License:Apache License

public void assertThatGetStatusHanlerIsNotRegisteredForDelete() throws Exception {
    HttpResponse response = HttpClientUtil.executeRequest(URL, HttpMethod.DELETE);
    SelendroidAssert.assertResponseIsServerError(response);
}