Example usage for org.apache.commons.httpclient HttpStatus SC_METHOD_NOT_ALLOWED

List of usage examples for org.apache.commons.httpclient HttpStatus SC_METHOD_NOT_ALLOWED

Introduction

In this page you can find the example usage for org.apache.commons.httpclient HttpStatus SC_METHOD_NOT_ALLOWED.

Prototype

int SC_METHOD_NOT_ALLOWED

To view the source code for org.apache.commons.httpclient HttpStatus SC_METHOD_NOT_ALLOWED.

Click Source Link

Document

<tt>405 Method Not Allowed</tt> (HTTP/1.1 - RFC 2616)

Usage

From source file:org.alfresco.rest.api.tests.TestUserPreferences.java

@Test
public void testUserPreferences() throws Exception {
    Iterator<TestNetwork> networksIt = getTestFixture().getNetworksIt();
    assertTrue(networksIt.hasNext());/*from w ww. ja v  a  2 s.c  o  m*/
    final TestNetwork network1 = networksIt.next();
    assertTrue(networksIt.hasNext());
    final TestNetwork network2 = networksIt.next();

    final List<TestPerson> people = new ArrayList<TestPerson>(3);

    // create users and some preferences
    TenantUtil.runAsSystemTenant(new TenantRunAsWork<Void>() {
        @Override
        public Void doWork() throws Exception {
            TestPerson person = network1.createUser();
            people.add(person);
            person = network1.createUser();
            people.add(person);
            return null;
        }
    }, network1.getId());

    TenantUtil.runAsSystemTenant(new TenantRunAsWork<Void>() {
        @Override
        public Void doWork() throws Exception {
            TestPerson person = network2.createUser();
            people.add(person);
            return null;
        }
    }, network2.getId());

    final TestPerson person1 = people.get(0);
    final TestPerson person2 = people.get(1);
    final TestPerson person3 = people.get(2);

    final List<Preference> expectedPreferences = new ArrayList<Preference>();
    expectedPreferences
            .add(new Preference("org.alfresco.share.documentList.testPreference2", String.valueOf(true)));
    expectedPreferences
            .add(new Preference("org.alfresco.share.documentList.testPreference1", String.valueOf(true)));
    expectedPreferences
            .add(new Preference("org.alfresco.share.documentList.sortAscending", String.valueOf(true)));
    expectedPreferences
            .add(new Preference("org.alfresco.share.documentList.testPreference3", String.valueOf(true)));
    // new preference name for issue REPO-855
    expectedPreferences.add(new Preference(
            "org.alfresco.ext.folders.favourites.workspace://SpacesStore/4e3d0779-388a-4b94-91e1-eab588a7da3d.createdAt",
            String.valueOf(true)));

    TenantUtil.runAsUserTenant(new TenantRunAsWork<Void>() {
        @Override
        public Void doWork() throws Exception {
            for (Preference pref : expectedPreferences) {
                // TODO add preferences thru api
                repoService.addPreference(person1.getId(), pref.getId(), pref.getValue());
            }

            return null;
        }
    }, person1.getId(), network1.getId());

    Collections.sort(expectedPreferences);

    People peopleProxy = publicApiClient.people();

    // GET preferences
    // Test case: cloud-1492

    // unknown user
    try {
        int skipCount = 0;
        int maxItems = 2;
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        Paging paging = getPaging(skipCount, maxItems, expectedPreferences.size(), expectedPreferences.size());
        peopleProxy.getPreferences(GUID.generate(), createParams(paging, null));

        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
    }

    // test paging
    {
        int skipCount = 0;
        int maxItems = 2;
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        Paging paging = getPaging(skipCount, maxItems, expectedPreferences.size(), expectedPreferences.size());
        ListResponse<Preference> resp = peopleProxy.getPreferences(person1.getId(), createParams(paging, null));
        checkList(expectedPreferences.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()),
                paging.getExpectedPaging(), resp);
    }

    {
        int skipCount = 2;
        int maxItems = 10;
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        Paging paging = getPaging(skipCount, maxItems, expectedPreferences.size(), expectedPreferences.size());
        ListResponse<Preference> resp = peopleProxy.getPreferences(person1.getId(), createParams(paging, null));
        checkList(expectedPreferences.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()),
                paging.getExpectedPaging(), resp);
    }

    // "-me-" user
    {
        int skipCount = 0;
        int maxItems = 2;
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        Paging paging = getPaging(skipCount, maxItems, expectedPreferences.size(), expectedPreferences.size());
        ListResponse<Preference> resp = peopleProxy.getPreferences(org.alfresco.rest.api.People.DEFAULT_USER,
                createParams(paging, null));
        checkList(expectedPreferences.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()),
                paging.getExpectedPaging(), resp);
    }

    // invalid user - 404
    try {
        int skipCount = 2;
        int maxItems = 10;
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        Paging paging = getPaging(skipCount, maxItems, expectedPreferences.size(), expectedPreferences.size());
        peopleProxy.getPreferences("invalid.user", createParams(paging, null));
        fail("");
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
    }

    // user from another account - 401
    try {
        int skipCount = 0;
        int maxItems = 2;
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person3.getId()));
        Paging paging = getPaging(skipCount, maxItems, expectedPreferences.size(), expectedPreferences.size());
        //           ListResponse<Preference> resp = peopleProxy.getPreferences(person1.getId(), createParams(paging, null));
        //           checkList(expectedPreferences.subList(skipCount, skipCount + paging.getExpectedPaging().getCount()), paging.getExpectedPaging(), resp);
        peopleProxy.getPreferences(person1.getId(), createParams(paging, null));
        fail();
    } catch (PublicApiException e) {
        assertEquals(e.getHttpResponse().getStatusCode(), HttpStatus.SC_UNAUTHORIZED);
    }

    // another user from the same account - 403
    try {
        int skipCount = 0;
        int maxItems = 2;
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person2.getId()));
        Paging paging = getPaging(skipCount, maxItems, expectedPreferences.size(), expectedPreferences.size());
        peopleProxy.getPreferences(person1.getId(), createParams(paging, null));
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_FORBIDDEN, e.getHttpResponse().getStatusCode());
    }

    // get a single preference
    // Test Case: cloud-1493

    {
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        Preference pref = expectedPreferences.get(0);
        Preference ret = peopleProxy.getPreference(person1.getId(), pref.getId());
        pref.expected(ret);
    }

    // unknown person id
    try {
        Preference pref = expectedPreferences.get(0);
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person2.getId()));
        peopleProxy.getPreference(GUID.generate(), pref.getId());
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
    }

    // unknown preference id
    try {
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        peopleProxy.getPreference(person1.getId(), GUID.generate());
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_NOT_FOUND, e.getHttpResponse().getStatusCode());
    }

    // Invalid methods
    // Test case: cloud-1968
    try {
        Preference pref = expectedPreferences.get(0);

        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        peopleProxy.create("people", person1.getId(), "preferences", pref.getId(), pref.toJSON().toString(),
                "Unable to POST to a preference");
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, e.getHttpResponse().getStatusCode());
    }

    try {
        Preference pref = expectedPreferences.get(0);

        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        peopleProxy.update("people", person1.getId(), "preferences", pref.getId(), pref.toJSON().toString(),
                "Unable to PUT a preference");
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, e.getHttpResponse().getStatusCode());
    }

    try {
        Preference pref = expectedPreferences.get(0);

        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        peopleProxy.remove("people", person1.getId(), "preferences", pref.getId(),
                "Unable to DELETE a preference");
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, e.getHttpResponse().getStatusCode());
    }

    try {
        Preference pref = expectedPreferences.get(0);

        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        peopleProxy.create("people", person1.getId(), "preferences", null, pref.toJSON().toString(),
                "Unable to POST to preferences");
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, e.getHttpResponse().getStatusCode());
    }

    try {
        Preference pref = expectedPreferences.get(0);

        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        peopleProxy.update("people", person1.getId(), "preferences", null, pref.toJSON().toString(),
                "Unable to PUT preferences");
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, e.getHttpResponse().getStatusCode());
    }

    try {
        publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
        peopleProxy.remove("people", person1.getId(), "preferences", null, "Unable to DELETE preferences");
        fail();
    } catch (PublicApiException e) {
        assertEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, e.getHttpResponse().getStatusCode());
    }

    {
        // REPO-1061, REPO-890
        try {
            String skipCount = "a";
            String maxItems = "hi";
            HashMap<String, String> params = new HashMap<String, String>();
            params.put("skipCount", skipCount);
            params.put("maxItems", maxItems);
            publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
            peopleProxy.getPreferences(person1.getId(), params);
            fail();
        } catch (PublicApiException e) {
            assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
        }

        try {
            String skipCount = "a";
            String maxItems = "null";
            HashMap<String, String> params = new HashMap<String, String>();
            params.put("skipCount", skipCount);
            params.put("maxItems", maxItems);
            publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
            peopleProxy.getPreferences(person1.getId(), params);
            fail();
        } catch (PublicApiException e) {
            assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
        }

        try {
            String maxItems = "Red";
            HashMap<String, String> params = new HashMap<String, String>();
            params.put("maxItems", maxItems);
            publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
            peopleProxy.getPreferences(person1.getId(), params);
            fail();
        } catch (PublicApiException e) {
            assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
        }

        try {
            String skipCount = "yuck";
            HashMap<String, String> params = new HashMap<String, String>();
            params.put("skipCount", skipCount);
            publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
            peopleProxy.getPreferences(person1.getId(), params);
            fail();
        } catch (PublicApiException e) {
            assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
        }

        try {
            String skipCount = "-1";
            HashMap<String, String> params = new HashMap<String, String>();
            params.put("skipCount", skipCount);
            publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
            peopleProxy.getPreferences(person1.getId(), params);
            fail();
        } catch (PublicApiException e) {
            assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
        }

        try {
            String maxItems = "0";
            HashMap<String, String> params = new HashMap<String, String>();
            params.put("maxItems", maxItems);
            publicApiClient.setRequestContext(new RequestContext(network1.getId(), person1.getId()));
            peopleProxy.getPreferences(person1.getId(), params);
            fail();
        } catch (PublicApiException e) {
            assertEquals(HttpStatus.SC_BAD_REQUEST, e.getHttpResponse().getStatusCode());
        }
    }
}

From source file:org.apache.maven.wagon.providers.webdav.WebDavWagon.java

/**
 * Create directories in server as needed.
 * They are created one at a time until the whole path exists.
 *
 * @param dir path to be created in server from repository basedir
 * @throws IOException// w w w.  ja  va2  s .  c om
 * @throws HttpException
 * @throws TransferFailedException
 */
protected void mkdirs(String dir) throws IOException {
    Repository repository = getRepository();
    String basedir = repository.getBasedir();

    String baseUrl = repository.getProtocol() + "://" + repository.getHost();
    if (repository.getPort() != WagonConstants.UNKNOWN_PORT) {
        baseUrl += ":" + repository.getPort();
    }

    // create relative path that will always have a leading and trailing slash
    String relpath = FileUtils.normalize(getPath(basedir, dir) + "/");

    PathNavigator navigator = new PathNavigator(relpath);

    // traverse backwards until we hit a directory that already exists (OK/NOT_ALLOWED), or that we were able to
    // create (CREATED), or until we get to the top of the path
    int status = SC_NULL;
    do {
        String url = baseUrl + "/" + navigator.getPath();
        status = doMkCol(url);
        if (status == HttpStatus.SC_OK || status == HttpStatus.SC_CREATED
                || status == HttpStatus.SC_METHOD_NOT_ALLOWED) {
            break;
        }
    } while (navigator.backward());

    // traverse forward creating missing directories
    while (navigator.forward()) {
        String url = baseUrl + "/" + navigator.getPath();
        status = doMkCol(url);
        if (status != HttpStatus.SC_OK && status != HttpStatus.SC_CREATED) {
            throw new IOException("Unable to create collection: " + url + "; status code = " + status);
        }
    }
}

From source file:org.apache.webdav.cmd.Client.java

private void handleException(Exception ex) {
    if (ex instanceof HttpException) {
        if (((HttpException) ex).getReasonCode() == HttpStatus.SC_METHOD_NOT_ALLOWED) {
            out.println("Warning: Not WebDAV-enabled?");
        } else if (((HttpException) ex).getReasonCode() == HttpStatus.SC_UNAUTHORIZED) {
            out.println("Warning: Unauthorized");
        } else {/*from   w w w  . j a  va2 s  .c o m*/
            out.println("Warning: " + ex.getMessage());
        }
    } else if (ex instanceof IOException) {
        out.println("Error: " + ex.getMessage());
    } else {
        out.println("Fatal Error: " + ex.getMessage());
        ex.printStackTrace(out);
        out.println("Please, email to slide-user@jakarta.apache.org");
        System.exit(-1);
    }
}

From source file:org.artifactory.repo.webdav.WebdavServiceImpl.java

@Override
public void handleMkcol(ArtifactoryRequest request, ArtifactoryResponse response) throws IOException {
    RepoPath repoPath = request.getRepoPath();
    String repoKey = request.getRepoKey();
    LocalRepo repo = repoService.localOrCachedRepositoryByKey(repoKey);
    if (repo == null) {
        response.sendError(HttpStatus.SC_NOT_FOUND, "Could not find repo '" + repoKey + "'.", log);
        return;//from   w w w.  j  a  v a2s  .  co m
    }

    //Return 405 if called on root or the folder already exists
    String path = repoPath.getPath();
    if (StringUtils.isBlank(path) || repo.itemExists(path)) {
        response.sendError(HttpStatus.SC_METHOD_NOT_ALLOWED,
                "MKCOL can only be executed on non-existent resource: " + repoPath, log);
        return;
    }
    //Check that we are allowed to write
    try {
        // Servlet container doesn't support long values so we take it manually from the header
        String contentLengthHeader = request.getHeader("Content-Length");
        long contentLength = StringUtils.isBlank(contentLengthHeader) ? -1
                : Long.parseLong(contentLengthHeader);
        repoService.assertValidDeployPath(repo, path, contentLength);
    } catch (RepoRejectException rre) {
        response.sendError(rre.getErrorCode(), rre.getMessage(), log);
        return;
    }

    // make sure the parent exists
    VfsFolder parentFolder = repo.getMutableFolder(repoPath.getParent());
    if (parentFolder == null) {
        response.sendError(HttpStatus.SC_CONFLICT,
                "Directory cannot be created: parent doesn't exist: " + repoPath.getParent(), log);
        return;
    }

    repo.createOrGetFolder(repoPath);
    response.setStatus(HttpStatus.SC_CREATED);
}

From source file:org.artifactory.repo.webdav.WebdavServiceImpl.java

@Override
public void handlePost(ArtifactoryRequest request, ArtifactoryResponse response) {
    RepoPath repoPath = request.getRepoPath();
    String repoKey = repoPath.getRepoKey();
    VirtualRepoDescriptor virtualRepo = repoService.virtualRepoDescriptorByKey(repoKey);

    StringBuilder allowHeaderBuilder = new StringBuilder();
    allowHeaderBuilder.append("GET");

    if (virtualRepo == null) {
        allowHeaderBuilder.append(",PUT,DELETE");
    }/*w  w w.  j a  v  a 2s .co m*/
    response.setHeader("Allow", allowHeaderBuilder.toString());
    response.setStatus(HttpStatus.SC_METHOD_NOT_ALLOWED);
}

From source file:org.collectionspace.services.client.test.ServiceLayerTest.java

@Test
public void methodNotAllowed() {
    if (logger.isDebugEnabled()) {
        logger.debug(BaseServiceTest.testBanner("methodNotAllowed", CLASS_NAME));
    }/*from w  ww .j  a v a2s. c  om*/
    // Delete is not allowed on the root URL of the id service
    String url = serviceClient.getBaseURL() + "idgenerators";
    DeleteMethod method = new DeleteMethod(url);
    try {
        int statusCode = httpClient.executeMethod(method);
        if (logger.isDebugEnabled()) {
            logger.debug(" methodNotAllowed url=" + url + " status=" + statusCode);
        }
        Assert.assertEquals(statusCode, HttpStatus.SC_METHOD_NOT_ALLOWED,
                "expected " + HttpStatus.SC_METHOD_NOT_ALLOWED);
    } catch (HttpException e) {
        logger.error("Fatal protocol violation: ", e);
    } catch (IOException e) {
        logger.error("Fatal transport error", e);
    } catch (Exception e) {
        logger.error("unknown exception ", e);
    } finally {
        // Release the connection.
        method.releaseConnection();
    }
}

From source file:org.collectionspace.services.client.test.ServiceLayerTest.java

@Test
public void traceSupported() {
    if (logger.isDebugEnabled()) {
        logger.debug(BaseServiceTest.testBanner("traceSupported", CLASS_NAME));
    }/*  ww w . jav a  2  s  .  c om*/
    String url = serviceClient.getBaseURL() + "collectionobjects";
    TraceMethod method = new TraceMethod(url);
    try {
        int statusCode = httpClient.executeMethod(method);

        if (logger.isDebugEnabled()) {
            logger.debug("traceSupported url=" + url + " status=" + statusCode);
            logger.debug("traceSupported response=" + new String(method.getResponseBody()));
            for (Header h : method.getResponseHeaders()) {
                logger.debug("traceSupported header name=" + h.getName() + " value=" + h.getValue());
            }
        }
        Assert.assertEquals(statusCode, HttpStatus.SC_METHOD_NOT_ALLOWED,
                "expected " + HttpStatus.SC_METHOD_NOT_ALLOWED);
    } catch (HttpException e) {
        logger.error("Fatal protocol violation: ", e);
    } catch (IOException e) {
        logger.error("Fatal transport error", e);
    } catch (Exception e) {
        logger.error("unknown exception ", e);
    } finally {
        // Release the connection.
        method.releaseConnection();
    }
}

From source file:org.eclipse.mylyn.internal.gerrit.core.client.GerritHttpClient.java

private int authenticateForm(AuthenticationCredentials credentials, IProgressMonitor monitor)
        throws IOException, GerritException {
    // try standard basic/digest/ntlm authentication first
    String repositoryUrl = getUrl();
    AuthScope authScope = new AuthScope(WebUtil.getHost(repositoryUrl), WebUtil.getPort(repositoryUrl), null,
            AuthScope.ANY_SCHEME);/*from  ww w.j ava2  s.c om*/
    Credentials httpCredentials = WebUtil.getHttpClientCredentials(credentials, WebUtil.getHost(repositoryUrl));
    httpClient.getState().setCredentials(authScope, httpCredentials);

    HttpMethodBase[] methods = getFormAuthMethods(repositoryUrl, credentials);
    for (HttpMethodBase method : methods) {
        int code;
        try {
            code = WebUtil.execute(httpClient, hostConfiguration, method, monitor);
            if (code == HttpStatus.SC_METHOD_NOT_ALLOWED) {
                continue; // try next http method
            } else if (needsReauthentication(code, monitor)) {
                return -1;
            } else if (code == HttpStatus.SC_MOVED_TEMPORARILY) {
                Header locationHeader = method.getResponseHeader("Location"); //$NON-NLS-1$
                if (locationHeader != null) {
                    if (locationHeader.getValue()
                            .endsWith("SignInFailure,SIGN_IN,Session cookie not available.")) { //$NON-NLS-1$
                        // try different authentication method
                        return HttpStatus.SC_NOT_FOUND;
                    }
                }
            } else if (code == HttpStatus.SC_OK) {
                // try different authentication method as the server maybe using development mode authentication
                return HttpStatus.SC_NOT_FOUND;
            } else if (code != HttpStatus.SC_NOT_FOUND) {
                throw new GerritHttpException(code);
            }
            return code;
        } finally {
            WebUtil.releaseConnection(method, monitor);
        }
    }
    return HttpStatus.SC_NOT_FOUND;
}

From source file:org.fao.geonet.util.XslUtil.java

/**
 * Returns the HTTP code  or error message if error occurs during URL connection.
 *
 * @param url       The URL to ckeck./*  w w  w  .  ja va 2 s. c  o m*/
 * @param tryNumber the number of remaining tries.
 */
public static String getUrlStatus(String url, int tryNumber) {
    if (tryNumber < 1) {
        // protect against redirect loops
        return "ERR_TOO_MANY_REDIRECTS";
    }
    HttpHead head = new HttpHead(url);
    GeonetHttpRequestFactory requestFactory = ApplicationContextHolder.get()
            .getBean(GeonetHttpRequestFactory.class);
    ClientHttpResponse response = null;
    try {
        response = requestFactory.execute(head, new Function<HttpClientBuilder, Void>() {
            @Nullable
            @Override
            public Void apply(@Nullable HttpClientBuilder originalConfig) {
                RequestConfig.Builder config = RequestConfig.custom().setConnectTimeout(1000)
                        .setConnectionRequestTimeout(3000).setSocketTimeout(5000);
                RequestConfig requestConfig = config.build();
                originalConfig.setDefaultRequestConfig(requestConfig);

                return null;
            }
        });
        //response = requestFactory.execute(head);
        if (response.getRawStatusCode() == HttpStatus.SC_BAD_REQUEST
                || response.getRawStatusCode() == HttpStatus.SC_METHOD_NOT_ALLOWED
                || response.getRawStatusCode() == HttpStatus.SC_INTERNAL_SERVER_ERROR) {
            // the website doesn't support HEAD requests. Need to do a GET...
            response.close();
            HttpGet get = new HttpGet(url);
            response = requestFactory.execute(get);
        }

        if (response.getStatusCode().is3xxRedirection() && response.getHeaders().containsKey("Location")) {
            // follow the redirects
            return getUrlStatus(response.getHeaders().getFirst("Location"), tryNumber - 1);
        }

        return String.valueOf(response.getRawStatusCode());
    } catch (IOException e) {
        Log.error(Geonet.GEONETWORK, "IOException validating  " + url + " URL. " + e.getMessage(), e);
        return e.getMessage();
    } finally {
        if (response != null) {
            response.close();
        }
    }
}

From source file:org.ldp4j.server.frontend.ServerFrontendITest.java

@Test
@Category({ ExceptionPath.class })
@OperateOnDeployment(DEPLOYMENT)//from  ww  w .j ava2  s .  c  o m
public void testNoPatchSupport(@ArquillianResource final URL url) throws Exception {
    LOGGER.info("Started {}", testName.getMethodName());
    HELPER.base(url);
    HELPER.setLegacy(false);

    HttpPatch patch = HELPER.newRequest(MyApplication.ROOT_PERSON_CONTAINER_PATH, HttpPatch.class);
    patch.setEntity(new StringEntity(TEST_SUITE_BODY, ContentType.create("text/turtle", "UTF-8")));
    Metadata patchResponse = HELPER.httpRequest(patch);
    assertThat(patchResponse.status, equalTo(HttpStatus.SC_METHOD_NOT_ALLOWED));
    assertThat(patchResponse.body, notNullValue());
    assertThat(patchResponse.contentType, startsWith("text/plain"));
    assertThat(patchResponse.language, equalTo(Locale.ENGLISH));
}