List of usage examples for org.apache.commons.httpclient HttpStatus SC_METHOD_NOT_ALLOWED
int SC_METHOD_NOT_ALLOWED
To view the source code for org.apache.commons.httpclient HttpStatus SC_METHOD_NOT_ALLOWED.
Click Source Link
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)); }