mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 15:58:39 +09:00
pt 1 in reviving the android build (copied from pm 28a1, wish me luck)
This commit is contained in:
parent
efa9662725
commit
d7788a6d6d
4249 changed files with 468189 additions and 0 deletions
82
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/AbortableHttpRequest.java
vendored
Normal file
82
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/AbortableHttpRequest.java
vendored
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import ch.boye.httpclientandroidlib.conn.ClientConnectionRequest;
|
||||
import ch.boye.httpclientandroidlib.conn.ConnectionReleaseTrigger;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
/**
|
||||
* Interface representing an HTTP request that can be aborted by shutting
|
||||
* down the underlying HTTP connection.
|
||||
*
|
||||
* @since 4.0
|
||||
*
|
||||
* @deprecated (4.3) use {@link HttpExecutionAware}
|
||||
*/
|
||||
@Deprecated
|
||||
public interface AbortableHttpRequest {
|
||||
|
||||
/**
|
||||
* Sets the {@link ch.boye.httpclientandroidlib.conn.ClientConnectionRequest}
|
||||
* callback that can be used to abort a long-lived request for a connection.
|
||||
* If the request is already aborted, throws an {@link IOException}.
|
||||
*
|
||||
* @see ch.boye.httpclientandroidlib.conn.ClientConnectionManager
|
||||
*/
|
||||
void setConnectionRequest(ClientConnectionRequest connRequest) throws IOException;
|
||||
|
||||
/**
|
||||
* Sets the {@link ConnectionReleaseTrigger} callback that can
|
||||
* be used to abort an active connection.
|
||||
* Typically, this will be the
|
||||
* {@link ch.boye.httpclientandroidlib.conn.ManagedClientConnection} itself.
|
||||
* If the request is already aborted, throws an {@link IOException}.
|
||||
*/
|
||||
void setReleaseTrigger(ConnectionReleaseTrigger releaseTrigger) throws IOException;
|
||||
|
||||
/**
|
||||
* Aborts this http request. Any active execution of this method should
|
||||
* return immediately. If the request has not started, it will abort after
|
||||
* the next execution. Aborting this request will cause all subsequent
|
||||
* executions with this request to fail.
|
||||
*
|
||||
* @see ch.boye.httpclientandroidlib.client.HttpClient#execute(HttpUriRequest)
|
||||
* @see ch.boye.httpclientandroidlib.client.HttpClient#execute(ch.boye.httpclientandroidlib.HttpHost,
|
||||
* ch.boye.httpclientandroidlib.HttpRequest)
|
||||
* @see ch.boye.httpclientandroidlib.client.HttpClient#execute(HttpUriRequest,
|
||||
* ch.boye.httpclientandroidlib.protocol.HttpContext)
|
||||
* @see ch.boye.httpclientandroidlib.client.HttpClient#execute(ch.boye.httpclientandroidlib.HttpHost,
|
||||
* ch.boye.httpclientandroidlib.HttpRequest, ch.boye.httpclientandroidlib.protocol.HttpContext)
|
||||
*/
|
||||
void abort();
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
import ch.boye.httpclientandroidlib.HttpRequest;
|
||||
import ch.boye.httpclientandroidlib.client.utils.CloneUtils;
|
||||
import ch.boye.httpclientandroidlib.concurrent.Cancellable;
|
||||
import ch.boye.httpclientandroidlib.conn.ClientConnectionRequest;
|
||||
import ch.boye.httpclientandroidlib.conn.ConnectionReleaseTrigger;
|
||||
import ch.boye.httpclientandroidlib.message.AbstractHttpMessage;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public abstract class AbstractExecutionAwareRequest extends AbstractHttpMessage implements
|
||||
HttpExecutionAware, AbortableHttpRequest, Cloneable, HttpRequest {
|
||||
|
||||
private final AtomicBoolean aborted;
|
||||
private final AtomicReference<Cancellable> cancellableRef;
|
||||
|
||||
protected AbstractExecutionAwareRequest() {
|
||||
super();
|
||||
this.aborted = new AtomicBoolean(false);
|
||||
this.cancellableRef = new AtomicReference<Cancellable>(null);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void setConnectionRequest(final ClientConnectionRequest connRequest) {
|
||||
setCancellable(new Cancellable() {
|
||||
|
||||
public boolean cancel() {
|
||||
connRequest.abortRequest();
|
||||
return true;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void setReleaseTrigger(final ConnectionReleaseTrigger releaseTrigger) {
|
||||
setCancellable(new Cancellable() {
|
||||
|
||||
public boolean cancel() {
|
||||
try {
|
||||
releaseTrigger.abortConnection();
|
||||
return true;
|
||||
} catch (final IOException ex) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
public void abort() {
|
||||
if (this.aborted.compareAndSet(false, true)) {
|
||||
final Cancellable cancellable = this.cancellableRef.getAndSet(null);
|
||||
if (cancellable != null) {
|
||||
cancellable.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isAborted() {
|
||||
return this.aborted.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 4.2
|
||||
*/
|
||||
public void setCancellable(final Cancellable cancellable) {
|
||||
if (!this.aborted.get()) {
|
||||
this.cancellableRef.set(cancellable);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() throws CloneNotSupportedException {
|
||||
final AbstractExecutionAwareRequest clone = (AbstractExecutionAwareRequest) super.clone();
|
||||
clone.headergroup = CloneUtils.cloneObject(this.headergroup);
|
||||
clone.params = CloneUtils.cloneObject(this.params);
|
||||
return clone;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 4.2
|
||||
*/
|
||||
public void completed() {
|
||||
this.cancellableRef.set(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets internal state of the request making it reusable.
|
||||
*
|
||||
* @since 4.2
|
||||
*/
|
||||
public void reset() {
|
||||
final Cancellable cancellable = this.cancellableRef.getAndSet(null);
|
||||
if (cancellable != null) {
|
||||
cancellable.cancel();
|
||||
}
|
||||
this.aborted.set(false);
|
||||
}
|
||||
|
||||
}
|
||||
40
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/CloseableHttpResponse.java
vendored
Normal file
40
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/CloseableHttpResponse.java
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.io.Closeable;
|
||||
|
||||
import ch.boye.httpclientandroidlib.HttpResponse;
|
||||
|
||||
/**
|
||||
* Extended version of the {@link HttpResponse} interface that also extends {@link Closeable}.
|
||||
*
|
||||
* @since 4.3
|
||||
*/
|
||||
public interface CloseableHttpResponse extends HttpResponse, Closeable {
|
||||
}
|
||||
44
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/Configurable.java
vendored
Normal file
44
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/Configurable.java
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import ch.boye.httpclientandroidlib.client.config.RequestConfig;
|
||||
|
||||
/**
|
||||
* Configuration interface for HTTP requests.
|
||||
*
|
||||
* @since 4.3
|
||||
*/
|
||||
public interface Configurable {
|
||||
|
||||
/**
|
||||
* Returns actual request configuration.
|
||||
*/
|
||||
RequestConfig getConfig();
|
||||
|
||||
}
|
||||
77
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpDelete.java
vendored
Normal file
77
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpDelete.java
vendored
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
|
||||
/**
|
||||
* HTTP DELETE method
|
||||
* <p>
|
||||
* The HTTP DELETE method is defined in section 9.7 of
|
||||
* <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
|
||||
* <blockquote>
|
||||
* The DELETE method requests that the origin server delete the resource
|
||||
* identified by the Request-URI. [...] The client cannot
|
||||
* be guaranteed that the operation has been carried out, even if the
|
||||
* status code returned from the origin server indicates that the action
|
||||
* has been completed successfully.
|
||||
* </blockquote>
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@NotThreadSafe // HttpRequestBase is @NotThreadSafe
|
||||
public class HttpDelete extends HttpRequestBase {
|
||||
|
||||
public final static String METHOD_NAME = "DELETE";
|
||||
|
||||
|
||||
public HttpDelete() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpDelete(final URI uri) {
|
||||
super();
|
||||
setURI(uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IllegalArgumentException if the uri is invalid.
|
||||
*/
|
||||
public HttpDelete(final String uri) {
|
||||
super();
|
||||
setURI(URI.create(uri));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import ch.boye.httpclientandroidlib.Header;
|
||||
import ch.boye.httpclientandroidlib.HttpEntity;
|
||||
import ch.boye.httpclientandroidlib.HttpEntityEnclosingRequest;
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
import ch.boye.httpclientandroidlib.client.utils.CloneUtils;
|
||||
import ch.boye.httpclientandroidlib.protocol.HTTP;
|
||||
|
||||
/**
|
||||
* Basic implementation of an entity enclosing HTTP request
|
||||
* that can be modified
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@NotThreadSafe // HttpRequestBase is @NotThreadSafe
|
||||
public abstract class HttpEntityEnclosingRequestBase
|
||||
extends HttpRequestBase implements HttpEntityEnclosingRequest {
|
||||
|
||||
private HttpEntity entity;
|
||||
|
||||
public HttpEntityEnclosingRequestBase() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpEntity getEntity() {
|
||||
return this.entity;
|
||||
}
|
||||
|
||||
public void setEntity(final HttpEntity entity) {
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
public boolean expectContinue() {
|
||||
final Header expect = getFirstHeader(HTTP.EXPECT_DIRECTIVE);
|
||||
return expect != null && HTTP.EXPECT_CONTINUE.equalsIgnoreCase(expect.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object clone() throws CloneNotSupportedException {
|
||||
final HttpEntityEnclosingRequestBase clone =
|
||||
(HttpEntityEnclosingRequestBase) super.clone();
|
||||
if (this.entity != null) {
|
||||
clone.entity = CloneUtils.cloneObject(this.entity);
|
||||
}
|
||||
return clone;
|
||||
}
|
||||
|
||||
}
|
||||
47
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpExecutionAware.java
vendored
Normal file
47
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpExecutionAware.java
vendored
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import ch.boye.httpclientandroidlib.concurrent.Cancellable;
|
||||
|
||||
/**
|
||||
* Interface to be implemented by any object that wishes to be notified of
|
||||
* blocking I/O operations that could be cancelled.
|
||||
*
|
||||
* @since 4.3
|
||||
*/
|
||||
public interface HttpExecutionAware {
|
||||
|
||||
boolean isAborted();
|
||||
|
||||
/**
|
||||
* Sets {@link Cancellable} for the ongoing operation.
|
||||
*/
|
||||
void setCancellable(Cancellable cancellable);
|
||||
|
||||
}
|
||||
77
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpGet.java
vendored
Normal file
77
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpGet.java
vendored
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
|
||||
/**
|
||||
* HTTP GET method.
|
||||
* <p>
|
||||
* The HTTP GET method is defined in section 9.3 of
|
||||
* <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
|
||||
* <blockquote>
|
||||
* The GET method means retrieve whatever information (in the form of an
|
||||
* entity) is identified by the Request-URI. If the Request-URI refers
|
||||
* to a data-producing process, it is the produced data which shall be
|
||||
* returned as the entity in the response and not the source text of the
|
||||
* process, unless that text happens to be the output of the process.
|
||||
* </blockquote>
|
||||
* </p>
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@NotThreadSafe
|
||||
public class HttpGet extends HttpRequestBase {
|
||||
|
||||
public final static String METHOD_NAME = "GET";
|
||||
|
||||
public HttpGet() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpGet(final URI uri) {
|
||||
super();
|
||||
setURI(uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IllegalArgumentException if the uri is invalid.
|
||||
*/
|
||||
public HttpGet(final String uri) {
|
||||
super();
|
||||
setURI(URI.create(uri));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
80
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpHead.java
vendored
Normal file
80
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpHead.java
vendored
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
|
||||
/**
|
||||
* HTTP HEAD method.
|
||||
* <p>
|
||||
* The HTTP HEAD method is defined in section 9.4 of
|
||||
* <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
|
||||
* <blockquote>
|
||||
* The HEAD method is identical to GET except that the server MUST NOT
|
||||
* return a message-body in the response. The metainformation contained
|
||||
* in the HTTP headers in response to a HEAD request SHOULD be identical
|
||||
* to the information sent in response to a GET request. This method can
|
||||
* be used for obtaining metainformation about the entity implied by the
|
||||
* request without transferring the entity-body itself. This method is
|
||||
* often used for testing hypertext links for validity, accessibility,
|
||||
* and recent modification.
|
||||
* </blockquote>
|
||||
* </p>
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@NotThreadSafe
|
||||
public class HttpHead extends HttpRequestBase {
|
||||
|
||||
public final static String METHOD_NAME = "HEAD";
|
||||
|
||||
public HttpHead() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpHead(final URI uri) {
|
||||
super();
|
||||
setURI(uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IllegalArgumentException if the uri is invalid.
|
||||
*/
|
||||
public HttpHead(final String uri) {
|
||||
super();
|
||||
setURI(URI.create(uri));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
100
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpOptions.java
vendored
Normal file
100
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpOptions.java
vendored
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import ch.boye.httpclientandroidlib.Header;
|
||||
import ch.boye.httpclientandroidlib.HeaderElement;
|
||||
import ch.boye.httpclientandroidlib.HeaderIterator;
|
||||
import ch.boye.httpclientandroidlib.HttpResponse;
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
import ch.boye.httpclientandroidlib.util.Args;
|
||||
|
||||
/**
|
||||
* HTTP OPTIONS method.
|
||||
* <p>
|
||||
* The HTTP OPTIONS method is defined in section 9.2 of
|
||||
* <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
|
||||
* <blockquote>
|
||||
* The OPTIONS method represents a request for information about the
|
||||
* communication options available on the request/response chain
|
||||
* identified by the Request-URI. This method allows the client to
|
||||
* determine the options and/or requirements associated with a resource,
|
||||
* or the capabilities of a server, without implying a resource action
|
||||
* or initiating a resource retrieval.
|
||||
* </blockquote>
|
||||
* </p>
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@NotThreadSafe
|
||||
public class HttpOptions extends HttpRequestBase {
|
||||
|
||||
public final static String METHOD_NAME = "OPTIONS";
|
||||
|
||||
public HttpOptions() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpOptions(final URI uri) {
|
||||
super();
|
||||
setURI(uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IllegalArgumentException if the uri is invalid.
|
||||
*/
|
||||
public HttpOptions(final String uri) {
|
||||
super();
|
||||
setURI(URI.create(uri));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
public Set<String> getAllowedMethods(final HttpResponse response) {
|
||||
Args.notNull(response, "HTTP response");
|
||||
|
||||
final HeaderIterator it = response.headerIterator("Allow");
|
||||
final Set<String> methods = new HashSet<String>();
|
||||
while (it.hasNext()) {
|
||||
final Header header = it.nextHeader();
|
||||
final HeaderElement[] elements = header.getElements();
|
||||
for (final HeaderElement element : elements) {
|
||||
methods.add(element.getName());
|
||||
}
|
||||
}
|
||||
return methods;
|
||||
}
|
||||
|
||||
}
|
||||
75
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpPatch.java
vendored
Normal file
75
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpPatch.java
vendored
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
|
||||
/**
|
||||
* HTTP PATCH method.
|
||||
* <p>
|
||||
* The HTTP PATCH method is defined in <a
|
||||
* href="http://tools.ietf.org/html/rfc5789">RF5789</a>: <blockquote> The PATCH
|
||||
* method requests that a set of changes described in the request entity be
|
||||
* applied to the resource identified by the Request- URI. Differs from the PUT
|
||||
* method in the way the server processes the enclosed entity to modify the
|
||||
* resource identified by the Request-URI. In a PUT request, the enclosed entity
|
||||
* origin server, and the client is requesting that the stored version be
|
||||
* replaced. With PATCH, however, the enclosed entity contains a set of
|
||||
* instructions describing how a resource currently residing on the origin
|
||||
* server should be modified to produce a new version. </blockquote>
|
||||
* </p>
|
||||
*
|
||||
* @since 4.2
|
||||
*/
|
||||
@NotThreadSafe
|
||||
public class HttpPatch extends HttpEntityEnclosingRequestBase {
|
||||
|
||||
public final static String METHOD_NAME = "PATCH";
|
||||
|
||||
public HttpPatch() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpPatch(final URI uri) {
|
||||
super();
|
||||
setURI(uri);
|
||||
}
|
||||
|
||||
public HttpPatch(final String uri) {
|
||||
super();
|
||||
setURI(URI.create(uri));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
84
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpPost.java
vendored
Normal file
84
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpPost.java
vendored
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
|
||||
/**
|
||||
* HTTP POST method.
|
||||
* <p>
|
||||
* The HTTP POST method is defined in section 9.5 of
|
||||
* <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
|
||||
* <blockquote>
|
||||
* The POST method is used to request that the origin server accept the entity
|
||||
* enclosed in the request as a new subordinate of the resource identified by
|
||||
* the Request-URI in the Request-Line. POST is designed to allow a uniform
|
||||
* method to cover the following functions:
|
||||
* <ul>
|
||||
* <li>Annotation of existing resources</li>
|
||||
* <li>Posting a message to a bulletin board, newsgroup, mailing list, or
|
||||
* similar group of articles</li>
|
||||
* <li>Providing a block of data, such as the result of submitting a form,
|
||||
* to a data-handling process</li>
|
||||
* <li>Extending a database through an append operation</li>
|
||||
* </ul>
|
||||
* </blockquote>
|
||||
* </p>
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@NotThreadSafe
|
||||
public class HttpPost extends HttpEntityEnclosingRequestBase {
|
||||
|
||||
public final static String METHOD_NAME = "POST";
|
||||
|
||||
public HttpPost() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpPost(final URI uri) {
|
||||
super();
|
||||
setURI(uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IllegalArgumentException if the uri is invalid.
|
||||
*/
|
||||
public HttpPost(final String uri) {
|
||||
super();
|
||||
setURI(URI.create(uri));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
76
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpPut.java
vendored
Normal file
76
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpPut.java
vendored
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
|
||||
/**
|
||||
* HTTP PUT method.
|
||||
* <p>
|
||||
* The HTTP PUT method is defined in section 9.6 of
|
||||
* <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
|
||||
* <blockquote>
|
||||
* The PUT method requests that the enclosed entity be stored under the
|
||||
* supplied Request-URI. If the Request-URI refers to an already
|
||||
* existing resource, the enclosed entity SHOULD be considered as a
|
||||
* modified version of the one residing on the origin server.
|
||||
* </blockquote>
|
||||
* </p>
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@NotThreadSafe
|
||||
public class HttpPut extends HttpEntityEnclosingRequestBase {
|
||||
|
||||
public final static String METHOD_NAME = "PUT";
|
||||
|
||||
public HttpPut() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpPut(final URI uri) {
|
||||
super();
|
||||
setURI(uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IllegalArgumentException if the uri is invalid.
|
||||
*/
|
||||
public HttpPut(final String uri) {
|
||||
super();
|
||||
setURI(URI.create(uri));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
124
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpRequestBase.java
vendored
Normal file
124
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpRequestBase.java
vendored
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.ProtocolVersion;
|
||||
import ch.boye.httpclientandroidlib.RequestLine;
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
import ch.boye.httpclientandroidlib.client.config.RequestConfig;
|
||||
import ch.boye.httpclientandroidlib.message.BasicRequestLine;
|
||||
import ch.boye.httpclientandroidlib.params.HttpProtocolParams;
|
||||
|
||||
/**
|
||||
* Base implementation of {@link HttpUriRequest}.
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
@NotThreadSafe
|
||||
public abstract class HttpRequestBase extends AbstractExecutionAwareRequest
|
||||
implements HttpUriRequest, Configurable {
|
||||
|
||||
private ProtocolVersion version;
|
||||
private URI uri;
|
||||
private RequestConfig config;
|
||||
|
||||
public abstract String getMethod();
|
||||
|
||||
/**
|
||||
* @since 4.3
|
||||
*/
|
||||
public void setProtocolVersion(final ProtocolVersion version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public ProtocolVersion getProtocolVersion() {
|
||||
return version != null ? version : HttpProtocolParams.getVersion(getParams());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the original request URI.
|
||||
* <p>
|
||||
* Please note URI remains unchanged in the course of request execution and
|
||||
* is not updated if the request is redirected to another location.
|
||||
*/
|
||||
public URI getURI() {
|
||||
return this.uri;
|
||||
}
|
||||
|
||||
public RequestLine getRequestLine() {
|
||||
final String method = getMethod();
|
||||
final ProtocolVersion ver = getProtocolVersion();
|
||||
final URI uri = getURI();
|
||||
String uritext = null;
|
||||
if (uri != null) {
|
||||
uritext = uri.toASCIIString();
|
||||
}
|
||||
if (uritext == null || uritext.length() == 0) {
|
||||
uritext = "/";
|
||||
}
|
||||
return new BasicRequestLine(method, uritext, ver);
|
||||
}
|
||||
|
||||
|
||||
public RequestConfig getConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
public void setConfig(final RequestConfig config) {
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
public void setURI(final URI uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 4.2
|
||||
*/
|
||||
public void started() {
|
||||
}
|
||||
|
||||
/**
|
||||
* A convenience method to simplify migration from HttpClient 3.1 API. This method is
|
||||
* equivalent to {@link #reset()}.
|
||||
*
|
||||
* @since 4.2
|
||||
*/
|
||||
public void releaseConnection() {
|
||||
reset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getMethod() + " " + getURI() + " " + getProtocolVersion();
|
||||
}
|
||||
|
||||
}
|
||||
171
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpRequestWrapper.java
vendored
Normal file
171
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpRequestWrapper.java
vendored
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.Header;
|
||||
import ch.boye.httpclientandroidlib.HttpEntity;
|
||||
import ch.boye.httpclientandroidlib.HttpEntityEnclosingRequest;
|
||||
import ch.boye.httpclientandroidlib.HttpRequest;
|
||||
import ch.boye.httpclientandroidlib.ProtocolVersion;
|
||||
import ch.boye.httpclientandroidlib.RequestLine;
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
import ch.boye.httpclientandroidlib.message.AbstractHttpMessage;
|
||||
import ch.boye.httpclientandroidlib.message.BasicRequestLine;
|
||||
import ch.boye.httpclientandroidlib.params.HttpParams;
|
||||
import ch.boye.httpclientandroidlib.protocol.HTTP;
|
||||
|
||||
/**
|
||||
* A wrapper class for {@link HttpRequest} that can be used to change properties of the current
|
||||
* request without modifying the original object.
|
||||
*
|
||||
* @since 4.3
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
@NotThreadSafe
|
||||
public class HttpRequestWrapper extends AbstractHttpMessage implements HttpUriRequest {
|
||||
|
||||
private final HttpRequest original;
|
||||
private final String method;
|
||||
private ProtocolVersion version;
|
||||
private URI uri;
|
||||
|
||||
private HttpRequestWrapper(final HttpRequest request) {
|
||||
super();
|
||||
this.original = request;
|
||||
this.version = this.original.getRequestLine().getProtocolVersion();
|
||||
this.method = this.original.getRequestLine().getMethod();
|
||||
if (request instanceof HttpUriRequest) {
|
||||
this.uri = ((HttpUriRequest) request).getURI();
|
||||
} else {
|
||||
this.uri = null;
|
||||
}
|
||||
setHeaders(request.getAllHeaders());
|
||||
}
|
||||
|
||||
public ProtocolVersion getProtocolVersion() {
|
||||
return this.version != null ? this.version : this.original.getProtocolVersion();
|
||||
}
|
||||
|
||||
public void setProtocolVersion(final ProtocolVersion version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public URI getURI() {
|
||||
return this.uri;
|
||||
}
|
||||
|
||||
public void setURI(final URI uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
public String getMethod() {
|
||||
return method;
|
||||
}
|
||||
|
||||
public void abort() throws UnsupportedOperationException {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public boolean isAborted() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public RequestLine getRequestLine() {
|
||||
String requestUri = null;
|
||||
if (this.uri != null) {
|
||||
requestUri = this.uri.toASCIIString();
|
||||
} else {
|
||||
requestUri = this.original.getRequestLine().getUri();
|
||||
}
|
||||
if (requestUri == null || requestUri.length() == 0) {
|
||||
requestUri = "/";
|
||||
}
|
||||
return new BasicRequestLine(this.method, requestUri, getProtocolVersion());
|
||||
}
|
||||
|
||||
public HttpRequest getOriginal() {
|
||||
return this.original;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getRequestLine() + " " + this.headergroup;
|
||||
}
|
||||
|
||||
static class HttpEntityEnclosingRequestWrapper extends HttpRequestWrapper
|
||||
implements HttpEntityEnclosingRequest {
|
||||
|
||||
private HttpEntity entity;
|
||||
|
||||
public HttpEntityEnclosingRequestWrapper(final HttpEntityEnclosingRequest request) {
|
||||
super(request);
|
||||
this.entity = request.getEntity();
|
||||
}
|
||||
|
||||
public HttpEntity getEntity() {
|
||||
return this.entity;
|
||||
}
|
||||
|
||||
public void setEntity(final HttpEntity entity) {
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
public boolean expectContinue() {
|
||||
final Header expect = getFirstHeader(HTTP.EXPECT_DIRECTIVE);
|
||||
return expect != null && HTTP.EXPECT_CONTINUE.equalsIgnoreCase(expect.getValue());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static HttpRequestWrapper wrap(final HttpRequest request) {
|
||||
if (request == null) {
|
||||
return null;
|
||||
}
|
||||
if (request instanceof HttpEntityEnclosingRequest) {
|
||||
return new HttpEntityEnclosingRequestWrapper((HttpEntityEnclosingRequest) request);
|
||||
} else {
|
||||
return new HttpRequestWrapper(request);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated (4.3) use
|
||||
* {@link ch.boye.httpclientandroidlib.client.config.RequestConfig}.
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public HttpParams getParams() {
|
||||
if (this.params == null) {
|
||||
this.params = original.getParams().copy();
|
||||
}
|
||||
return this.params;
|
||||
}
|
||||
|
||||
}
|
||||
79
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpTrace.java
vendored
Normal file
79
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpTrace.java
vendored
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
|
||||
/**
|
||||
* HTTP TRACE method.
|
||||
* <p>
|
||||
* The HTTP TRACE method is defined in section 9.6 of
|
||||
* <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
|
||||
* <blockquote>
|
||||
* The TRACE method is used to invoke a remote, application-layer loop-
|
||||
* back of the request message. The final recipient of the request
|
||||
* SHOULD reflect the message received back to the client as the
|
||||
* entity-body of a 200 (OK) response. The final recipient is either the
|
||||
* origin server or the first proxy or gateway to receive a Max-Forwards
|
||||
* value of zero (0) in the request (see section 14.31). A TRACE request
|
||||
* MUST NOT include an entity.
|
||||
* </blockquote>
|
||||
* </p>
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
@NotThreadSafe
|
||||
public class HttpTrace extends HttpRequestBase {
|
||||
|
||||
public final static String METHOD_NAME = "TRACE";
|
||||
|
||||
public HttpTrace() {
|
||||
super();
|
||||
}
|
||||
|
||||
public HttpTrace(final URI uri) {
|
||||
super();
|
||||
setURI(uri);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IllegalArgumentException if the uri is invalid.
|
||||
*/
|
||||
public HttpTrace(final String uri) {
|
||||
super();
|
||||
setURI(URI.create(uri));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
}
|
||||
84
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpUriRequest.java
vendored
Normal file
84
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/HttpUriRequest.java
vendored
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import ch.boye.httpclientandroidlib.HttpRequest;
|
||||
|
||||
/**
|
||||
* Extended version of the {@link HttpRequest} interface that provides
|
||||
* convenience methods to access request properties such as request URI
|
||||
* and method type.
|
||||
*
|
||||
* @since 4.0
|
||||
*/
|
||||
public interface HttpUriRequest extends HttpRequest {
|
||||
|
||||
/**
|
||||
* Returns the HTTP method this request uses, such as <code>GET</code>,
|
||||
* <code>PUT</code>, <code>POST</code>, or other.
|
||||
*/
|
||||
String getMethod();
|
||||
|
||||
/**
|
||||
* Returns the URI this request uses, such as
|
||||
* <code>http://example.org/path/to/file</code>.
|
||||
* <br/>
|
||||
* Note that the URI may be absolute URI (as above) or may be a relative URI.
|
||||
* <p>
|
||||
* Implementations are encouraged to return
|
||||
* the URI that was initially requested.
|
||||
* </p>
|
||||
* <p>
|
||||
* To find the final URI after any redirects have been processed,
|
||||
* please see the section entitled
|
||||
* <a href="http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d4e205">HTTP execution context</a>
|
||||
* in the
|
||||
* <a href="http://hc.apache.org/httpcomponents-client-ga/tutorial/html">HttpClient Tutorial</a>
|
||||
* </p>
|
||||
*/
|
||||
URI getURI();
|
||||
|
||||
/**
|
||||
* Aborts execution of the request.
|
||||
*
|
||||
* @throws UnsupportedOperationException if the abort operation
|
||||
* is not supported / cannot be implemented.
|
||||
*/
|
||||
void abort() throws UnsupportedOperationException;
|
||||
|
||||
/**
|
||||
* Tests if the request execution has been aborted.
|
||||
*
|
||||
* @return <code>true</code> if the request execution has been aborted,
|
||||
* <code>false</code> otherwise.
|
||||
*/
|
||||
boolean isAborted();
|
||||
|
||||
}
|
||||
351
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/RequestBuilder.java
vendored
Normal file
351
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/RequestBuilder.java
vendored
Normal file
|
|
@ -0,0 +1,351 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import ch.boye.httpclientandroidlib.Header;
|
||||
import ch.boye.httpclientandroidlib.HeaderIterator;
|
||||
import ch.boye.httpclientandroidlib.HttpEntity;
|
||||
import ch.boye.httpclientandroidlib.HttpEntityEnclosingRequest;
|
||||
import ch.boye.httpclientandroidlib.HttpRequest;
|
||||
import ch.boye.httpclientandroidlib.NameValuePair;
|
||||
import ch.boye.httpclientandroidlib.ProtocolVersion;
|
||||
import ch.boye.httpclientandroidlib.annotation.NotThreadSafe;
|
||||
import ch.boye.httpclientandroidlib.client.config.RequestConfig;
|
||||
import ch.boye.httpclientandroidlib.client.entity.UrlEncodedFormEntity;
|
||||
import ch.boye.httpclientandroidlib.client.utils.URIBuilder;
|
||||
import ch.boye.httpclientandroidlib.message.BasicHeader;
|
||||
import ch.boye.httpclientandroidlib.message.BasicNameValuePair;
|
||||
import ch.boye.httpclientandroidlib.message.HeaderGroup;
|
||||
import ch.boye.httpclientandroidlib.protocol.HTTP;
|
||||
import ch.boye.httpclientandroidlib.util.Args;
|
||||
|
||||
/**
|
||||
* Builder for {@link HttpUriRequest} instances.
|
||||
* <p/>
|
||||
* Please note that this class treats parameters differently depending on composition
|
||||
* of the request: if the request has a content entity explicitly set with
|
||||
* {@link #setEntity(ch.boye.httpclientandroidlib.HttpEntity)} or it is not an entity enclosing method
|
||||
* (such as POST or PUT), parameters will be added to the query component of the request URI.
|
||||
* Otherwise, parameters will be added as a URL encoded {@link UrlEncodedFormEntity entity}.
|
||||
*
|
||||
* @since 4.3
|
||||
*/
|
||||
@NotThreadSafe
|
||||
public class RequestBuilder {
|
||||
|
||||
private String method;
|
||||
private ProtocolVersion version;
|
||||
private URI uri;
|
||||
private HeaderGroup headergroup;
|
||||
private HttpEntity entity;
|
||||
private LinkedList<NameValuePair> parameters;
|
||||
private RequestConfig config;
|
||||
|
||||
RequestBuilder(final String method) {
|
||||
super();
|
||||
this.method = method;
|
||||
}
|
||||
|
||||
RequestBuilder() {
|
||||
this(null);
|
||||
}
|
||||
|
||||
public static RequestBuilder create(final String method) {
|
||||
Args.notBlank(method, "HTTP method");
|
||||
return new RequestBuilder(method);
|
||||
}
|
||||
|
||||
public static RequestBuilder get() {
|
||||
return new RequestBuilder(HttpGet.METHOD_NAME);
|
||||
}
|
||||
|
||||
public static RequestBuilder head() {
|
||||
return new RequestBuilder(HttpHead.METHOD_NAME);
|
||||
}
|
||||
|
||||
public static RequestBuilder post() {
|
||||
return new RequestBuilder(HttpPost.METHOD_NAME);
|
||||
}
|
||||
|
||||
public static RequestBuilder put() {
|
||||
return new RequestBuilder(HttpPut.METHOD_NAME);
|
||||
}
|
||||
|
||||
public static RequestBuilder delete() {
|
||||
return new RequestBuilder(HttpDelete.METHOD_NAME);
|
||||
}
|
||||
|
||||
public static RequestBuilder trace() {
|
||||
return new RequestBuilder(HttpTrace.METHOD_NAME);
|
||||
}
|
||||
|
||||
public static RequestBuilder options() {
|
||||
return new RequestBuilder(HttpOptions.METHOD_NAME);
|
||||
}
|
||||
|
||||
public static RequestBuilder copy(final HttpRequest request) {
|
||||
Args.notNull(request, "HTTP request");
|
||||
return new RequestBuilder().doCopy(request);
|
||||
}
|
||||
|
||||
private RequestBuilder doCopy(final HttpRequest request) {
|
||||
if (request == null) {
|
||||
return this;
|
||||
}
|
||||
method = request.getRequestLine().getMethod();
|
||||
version = request.getRequestLine().getProtocolVersion();
|
||||
if (request instanceof HttpUriRequest) {
|
||||
uri = ((HttpUriRequest) request).getURI();
|
||||
} else {
|
||||
uri = URI.create(request.getRequestLine().getUri());
|
||||
}
|
||||
if (headergroup == null) {
|
||||
headergroup = new HeaderGroup();
|
||||
}
|
||||
headergroup.clear();
|
||||
headergroup.setHeaders(request.getAllHeaders());
|
||||
if (request instanceof HttpEntityEnclosingRequest) {
|
||||
entity = ((HttpEntityEnclosingRequest) request).getEntity();
|
||||
} else {
|
||||
entity = null;
|
||||
}
|
||||
if (request instanceof Configurable) {
|
||||
this.config = ((Configurable) request).getConfig();
|
||||
} else {
|
||||
this.config = null;
|
||||
}
|
||||
this.parameters = null;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMethod() {
|
||||
return method;
|
||||
}
|
||||
|
||||
public ProtocolVersion getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public RequestBuilder setVersion(final ProtocolVersion version) {
|
||||
this.version = version;
|
||||
return this;
|
||||
}
|
||||
|
||||
public URI getUri() {
|
||||
return uri;
|
||||
}
|
||||
|
||||
public RequestBuilder setUri(final URI uri) {
|
||||
this.uri = uri;
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequestBuilder setUri(final String uri) {
|
||||
this.uri = uri != null ? URI.create(uri) : null;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Header getFirstHeader(final String name) {
|
||||
return headergroup != null ? headergroup.getFirstHeader(name) : null;
|
||||
}
|
||||
|
||||
public Header getLastHeader(final String name) {
|
||||
return headergroup != null ? headergroup.getLastHeader(name) : null;
|
||||
}
|
||||
|
||||
public Header[] getHeaders(final String name) {
|
||||
return headergroup != null ? headergroup.getHeaders(name) : null;
|
||||
}
|
||||
|
||||
public RequestBuilder addHeader(final Header header) {
|
||||
if (headergroup == null) {
|
||||
headergroup = new HeaderGroup();
|
||||
}
|
||||
headergroup.addHeader(header);
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequestBuilder addHeader(final String name, final String value) {
|
||||
if (headergroup == null) {
|
||||
headergroup = new HeaderGroup();
|
||||
}
|
||||
this.headergroup.addHeader(new BasicHeader(name, value));
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequestBuilder removeHeader(final Header header) {
|
||||
if (headergroup == null) {
|
||||
headergroup = new HeaderGroup();
|
||||
}
|
||||
headergroup.removeHeader(header);
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequestBuilder removeHeaders(final String name) {
|
||||
if (name == null || headergroup == null) {
|
||||
return this;
|
||||
}
|
||||
for (final HeaderIterator i = headergroup.iterator(); i.hasNext(); ) {
|
||||
final Header header = i.nextHeader();
|
||||
if (name.equalsIgnoreCase(header.getName())) {
|
||||
i.remove();
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequestBuilder setHeader(final Header header) {
|
||||
if (headergroup == null) {
|
||||
headergroup = new HeaderGroup();
|
||||
}
|
||||
this.headergroup.updateHeader(header);
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequestBuilder setHeader(final String name, final String value) {
|
||||
if (headergroup == null) {
|
||||
headergroup = new HeaderGroup();
|
||||
}
|
||||
this.headergroup.updateHeader(new BasicHeader(name, value));
|
||||
return this;
|
||||
}
|
||||
|
||||
public HttpEntity getEntity() {
|
||||
return entity;
|
||||
}
|
||||
|
||||
public RequestBuilder setEntity(final HttpEntity entity) {
|
||||
this.entity = entity;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<NameValuePair> getParameters() {
|
||||
return parameters != null ? new ArrayList<NameValuePair>(parameters) :
|
||||
new ArrayList<NameValuePair>();
|
||||
}
|
||||
|
||||
public RequestBuilder addParameter(final NameValuePair nvp) {
|
||||
Args.notNull(nvp, "Name value pair");
|
||||
if (parameters == null) {
|
||||
parameters = new LinkedList<NameValuePair>();
|
||||
}
|
||||
parameters.add(nvp);
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequestBuilder addParameter(final String name, final String value) {
|
||||
return addParameter(new BasicNameValuePair(name, value));
|
||||
}
|
||||
|
||||
public RequestBuilder addParameters(final NameValuePair... nvps) {
|
||||
for (final NameValuePair nvp: nvps) {
|
||||
addParameter(nvp);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public RequestConfig getConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
public RequestBuilder setConfig(final RequestConfig config) {
|
||||
this.config = config;
|
||||
return this;
|
||||
}
|
||||
|
||||
public HttpUriRequest build() {
|
||||
final HttpRequestBase result;
|
||||
URI uri = this.uri != null ? this.uri : URI.create("/");
|
||||
HttpEntity entity = this.entity;
|
||||
if (parameters != null && !parameters.isEmpty()) {
|
||||
if (entity == null && (HttpPost.METHOD_NAME.equalsIgnoreCase(method)
|
||||
|| HttpPut.METHOD_NAME.equalsIgnoreCase(method))) {
|
||||
entity = new UrlEncodedFormEntity(parameters, HTTP.DEF_CONTENT_CHARSET);
|
||||
} else {
|
||||
try {
|
||||
uri = new URIBuilder(uri).addParameters(parameters).build();
|
||||
} catch (final URISyntaxException ex) {
|
||||
// should never happen
|
||||
}
|
||||
}
|
||||
}
|
||||
if (entity == null) {
|
||||
result = new InternalRequest(method);
|
||||
} else {
|
||||
final InternalEntityEclosingRequest request = new InternalEntityEclosingRequest(method);
|
||||
request.setEntity(entity);
|
||||
result = request;
|
||||
}
|
||||
result.setProtocolVersion(this.version);
|
||||
result.setURI(uri);
|
||||
if (this.headergroup != null) {
|
||||
result.setHeaders(this.headergroup.getAllHeaders());
|
||||
}
|
||||
result.setConfig(this.config);
|
||||
return result;
|
||||
}
|
||||
|
||||
static class InternalRequest extends HttpRequestBase {
|
||||
|
||||
private final String method;
|
||||
|
||||
InternalRequest(final String method) {
|
||||
super();
|
||||
this.method = method;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return this.method;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class InternalEntityEclosingRequest extends HttpEntityEnclosingRequestBase {
|
||||
|
||||
private final String method;
|
||||
|
||||
InternalEntityEclosingRequest(final String method) {
|
||||
super();
|
||||
this.method = method;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethod() {
|
||||
return this.method;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
31
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/package-info.java
vendored
Normal file
31
mobile/android/thirdparty/ch/boye/httpclientandroidlib/client/methods/package-info.java
vendored
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* ====================================================================
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
* ====================================================================
|
||||
*
|
||||
* This software consists of voluntary contributions made by many
|
||||
* individuals on behalf of the Apache Software Foundation. For more
|
||||
* information on the Apache Software Foundation, please see
|
||||
* <http://www.apache.org/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Standard HTTP method implementations.
|
||||
*/
|
||||
package ch.boye.httpclientandroidlib.client.methods;
|
||||
Loading…
Add table
Add a link
Reference in a new issue