package org.develnext.jphp.ext.jsoup.classes;
import org.develnext.jphp.ext.jsoup.JsoupExtension;
import org.jsoup.Connection;
import org.jsoup.nodes.Document;
import php.runtime.env.Environment;
import php.runtime.lang.BaseWrapper;
import php.runtime.reflection.ClassEntity;
import java.io.IOException;
import java.net.Proxy;
import java.util.Map;
import static org.jsoup.Connection.Request;
import static org.jsoup.Connection.Response;
import static php.runtime.annotation.Reflection.*;
@Abstract
@Name("Connection")
@Namespace(JsoupExtension.NS)
public class WrapConnection extends BaseWrapper<Connection> {
public interface WrappedInterface {
Connection proxy(Proxy proxy);
Connection url(String url);
Connection userAgent(String userAgent);
Connection timeout(int millis);
Connection maxBodySize(int bytes);
Connection referrer(String referrer);
Connection followRedirects(boolean followRedirects);
Connection method(Connection.Method method);
Connection ignoreHttpErrors(boolean ignoreHttpErrors);
Connection ignoreContentType(boolean ignoreContentType);
Connection data(Map<String, String> data);
Connection header(String name, String value);
Connection cookie(String name, String value);
Connection cookies(Map<String, String> cookies);
Document get() throws IOException;
Document post() throws IOException;
Response execute() throws IOException;
Request request();
Connection request(Request request);
Response response();
Connection response(Response response);
}
public static final String METHOD_POST = "POST";
public static final String METHOD_GET = "GET";
public WrapConnection(Environment env, Connection object) {
super(env, object);
}
public WrapConnection(Environment env, ClassEntity clazz) {
super(env, clazz);
}
public Connection headers(Map<String, String> data) {
for (Map.Entry<String, String> entry : data.entrySet()) {
getWrappedObject().header(entry.getKey(), entry.getValue());
}
return getWrappedObject();
}
}