I used ContentExchange class of Jetty 7 for setting URL, headers and requestContent.
Following is What I have using Jetty 7.
HttpClient client = new HttpClient();
client.start();
ContentExchange exchange = new ContentExchange();
exchange.setURL(url);
exchange.setRequestHeader("Content-Type", "application/xml");
exchange.setRequestHeader("Authorization", "Basic " + this.getAuthenticatonString());
exchange.setMethod("POST");
final AbstractBuffer cb = new ByteArrayBuffer(xml.getBytes("UTF-8"));
exchange.setRequestContent(cb);
client.send(exchange);
exchange.waitForDone();
Jetty 9 doesn't have ContentExchange class but after some research I have this
HttpClient client = new HttpClient();
client
.POST(url)
.send()
I think I can use client.param for setting request headers but I am not really sure about it.
So my question is how do I set "request content" and "request headers" using Jetty 9?
import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.client.Request;
import org.eclipse.jetty.client.ContentResponse;
import org.eclipse.jetty.http.HttpMethod;
import org.eclipse.jetty.http.HttpHeader;
...
HttpClient client = new HttpClient();
client.start();
Request req = client.newRequest("http://....");
req.method(HttpMethod.GET);
req.agent("Mozilla/5.0...");
req.header(HttpHeader.ACCEPT, "text/html");
req.header(HtppHeader.CONNECTION, "Keep-Alive");
ContentResponse resp = req.send():
...
client.stop();