package com.iwebpp.node.http; import com.iwebpp.SimpleDebug; import com.iwebpp.node.NodeContext; import com.iwebpp.node.Url; import com.iwebpp.node.Url.UrlObj; public final class httpp extends SimpleDebug { private static final String TAG = "httpp"; // httpp.createServer([requestListener]) public static HttppServer createServer( NodeContext ctx, HttpServer.requestListener onreq) throws Exception { return new HttppServer(ctx, onreq); } public static HttppServer listen( NodeContext ctx, int port, String host, HttpServer.requestListener onreq) throws Exception { HttppServer srv = createServer(ctx, onreq); srv.listen(port, host); return srv; } // httpp.request(options, [callback]) public static ClientRequest request( NodeContext ctx, ReqOptions options, ClientRequest.responseListener onres) throws Exception { debug(TAG, "httpp request"); options.httpp = true; return new ClientRequest(ctx, options, onres); } // TBD... parser ReqOptions from URL public static ClientRequest request( NodeContext ctx, String url, ClientRequest.responseListener onres) throws Exception { UrlObj obj = Url.parse(url); ReqOptions options = new ReqOptions(); options.protocol = obj.protocol; options.auth = obj.auth; options.hostname = obj.hostname; options.port = obj.port; options.host = obj.host; options.path = obj.path; return request(ctx, options, onres); } // httpp.get(options, [callback]) public static ClientRequest get( NodeContext ctx, ReqOptions options, ClientRequest.responseListener onres) throws Exception { // GET method options.method = "GET"; options.httpp = true; ClientRequest req = request(ctx, options, onres); req.end(null, null, null); return req; } public static ClientRequest get( NodeContext ctx, String url, ClientRequest.responseListener onres) throws Exception { UrlObj obj = Url.parse(url); ReqOptions options = new ReqOptions(); options.protocol = obj.protocol; options.auth = obj.auth; options.hostname = obj.hostname; options.port = obj.port; options.host = obj.host; options.path = obj.path; return get(ctx, options, onres); } }