use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class Requests method createPostRequestImpl.
private static HttpDummyRequest createPostRequestImpl(String url, String... argTuples) throws UnsupportedEncodingException {
if (argTuples.length % 2 != 0)
throw new IllegalArgumentException("argTuples.length must be of even size (key/value)");
HttpUri httpUri = new HttpUri(url);
HttpRequestLine requestLine = new HttpRequestLine();
requestLine.setMethod(KnownHttpMethod.POST);
requestLine.setUri(httpUri);
HttpRequest req = new HttpRequest();
req.setRequestLine(requestLine);
req.addHeader(new Header(KnownHeaderName.HOST, "myhost.com"));
String encodedParams = "";
for (int i = 0; i < argTuples.length; i += 2) {
String key = URLEncoder.encode(argTuples[i], StandardCharsets.UTF_8);
String value = URLEncoder.encode(argTuples[i + 1], StandardCharsets.UTF_8);
if (!"".equals(encodedParams))
encodedParams += "&";
encodedParams += key + "=" + value;
}
byte[] bytes = encodedParams.getBytes(StandardCharsets.UTF_8);
DataWrapper body = gen.wrapByteArray(bytes);
HttpData data = new HttpData(body, true);
req.addHeader(new Header(KnownHeaderName.CONTENT_LENGTH, "" + body.getReadableSize()));
req.addHeader(new Header(KnownHeaderName.CONTENT_TYPE, "application/x-www-form-urlencoded"));
return new HttpDummyRequest(req, data);
}
use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class Requests method createBadJsonRequest.
public static HttpDummyRequest createBadJsonRequest(KnownHttpMethod method, String url) {
HttpRequest request = createRequest(method, url);
String json = "{ `query `cats and dogs`, `meta`: { `numResults`: 4 } }".replace("`", "\"");
DataWrapper body = gen.wrapByteArray(json.getBytes());
HttpData data = new HttpData(body, true);
request.addHeader(new Header(KnownHeaderName.CONTENT_LENGTH, body.getReadableSize() + ""));
return new HttpDummyRequest(request, data);
}
use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class Requests method createGetRequest.
public static HttpRequest createGetRequest(String domain, String url) {
HttpUri httpUri = new HttpUri(url);
HttpRequestLine requestLine = new HttpRequestLine();
requestLine.setMethod(KnownHttpMethod.GET);
requestLine.setUri(httpUri);
HttpRequest req = new HttpRequest();
req.setRequestLine(requestLine);
req.addHeader(new Header(KnownHeaderName.HOST, domain));
return req;
}
use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class TestSyncWebServer method testBasic.
@Test
public void testBasic() {
HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/myroute");
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
response.assertContains("This is the first raw html page");
response.assertContentType("text/html; charset=utf-8");
List<Header> headers = response.getResponse().getHeaderLookupStruct().getHeaders(KnownHeaderName.CONTENT_TYPE);
Assert.assertEquals(1, headers.size());
}
use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class TestI18n method testChineseText.
@Test
public void testChineseText() {
HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, "/i18nBasic");
req.addHeader(new Header(KnownHeaderName.ACCEPT_LANGUAGE, "zh-CN"));
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
response.assertContains("你好, 这个是一个比较长的一个东西 我可以写比较多。 我在北京师范大学学了中文。 我喜欢完冰球");
response.assertContains("你好Dean,我们要去Italy");
}
Aggregations