use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class TestAjaxHibernate method testAjaxAddUser.
@Test
public void testAjaxAddUser() {
HttpDummyRequest req = Requests.createPostRequest("/ajax/user/post", "entity.id", "", "entity.name", "blah1", "entity.firstName", "blah2", "password", "asddd");
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_303_SEEOTHER);
Assert.assertEquals("http://myhost.com/ajax/user/list", response.getRedirectUrl());
Header header = response.createCookieRequestHeader();
Assert.assertTrue("contents actually was=" + header.getValue(), header.getValue().contains("User+successfully+saved"));
}
use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class TestFlashAndSelect method testMultiSelect.
@Test
public void testMultiSelect() {
HttpDummyRequest req1 = Requests.createPostRequest("/multiselect", "entity.id", user.getId() + "", //invalid first name
"entity.firstName", //invalid first name
"NextName", "entity.email", "dean@zz.com", "entity.lastName", "", "entity.password", "", "entity.levelOfEducation", "", "selectedRoles", "j", "selectedRoles", "d");
http11Socket.send(req1);
FullResponse response1 = ResponseExtract.assertSingleResponse(http11Socket);
response1.assertStatusCode(KnownStatusCode.HTTP_303_SEEOTHER);
String urlPath = "/multiselect/" + user.getId();
Assert.assertEquals("http://myhost.com" + urlPath, response1.getRedirectUrl());
HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, urlPath);
Header cookieHeader = response1.createCookieRequestHeader();
req.addHeader(cookieHeader);
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
response.assertContains("<option value=`b` >Badass</script>".replace('`', '\"'));
response.assertContains("<option value=`j` selected=`selected`>Jerk</script>".replace('`', '\"'));
response.assertContains("<option value=`d` selected=`selected`>Delinquint</script>".replace('`', '\"'));
}
use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class TestFlashAndSelect method testNullWillFlashProperly.
@Test
public void testNullWillFlashProperly() {
HttpDummyRequest req1 = Requests.createPostRequest("/user/post", "entity.id", user.getId() + "", //invalid first name
"entity.firstName", //invalid first name
"NextName", "entity.email", "dean@zz.com", "entity.lastName", "", "entity.password", "", "entity.levelOfEducation", "");
http11Socket.send(req1);
FullResponse response1 = ResponseExtract.assertSingleResponse(http11Socket);
response1.assertStatusCode(KnownStatusCode.HTTP_303_SEEOTHER);
String urlPath = "/user/edit/" + user.getId();
Assert.assertEquals("http://myhost.com" + urlPath, response1.getRedirectUrl());
HttpRequest req = Requests.createRequest(KnownHttpMethod.GET, urlPath);
Header cookieHeader = response1.createCookieRequestHeader();
req.addHeader(cookieHeader);
http11Socket.send(req);
FullResponse response = ResponseExtract.assertSingleResponse(http11Socket);
response.assertStatusCode(KnownStatusCode.HTTP_200_OK);
//assert the nulls came through
response.assertContains("<input type=`text` name=`entity.lastName` value=`` class=`input-xlarge`>".replace('`', '\"'));
response.assertContains("<option value=`` selected=`selected`>Unselected</option>".replace('`', '\"'));
response.assertContains("<option value=`k` >Kindergarten</script>".replace('`', '\"'));
}
use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class HttpParserImpl method processHttpMessageAndMaybeBody.
private void processHttpMessageAndMaybeBody(MementoImpl memento, DataWrapper dataToRead, int i) {
List<Integer> markedPositions = memento.getLeftOverMarkedPositions();
memento.setLeftOverMarkedPositions(new ArrayList<Integer>());
List<? extends DataWrapper> tuple = dataGen.split(dataToRead, i + 4);
DataWrapper toBeParsed = tuple.get(0);
memento.setLeftOverData(tuple.get(1));
HttpMessage message = parseHttpMessage(memento, toBeParsed, markedPositions);
if (memento.isHttp2()) {
//memento.addMessage(message);
return;
}
Header contentLenHeader = message.getHeaderLookupStruct().getHeader(KnownHeaderName.CONTENT_LENGTH);
Header transferHeader = message.getHeaderLookupStruct().getLastInstanceOfHeader(KnownHeaderName.TRANSFER_ENCODING);
if (transferHeader != null && "chunked".equals(transferHeader.getValue())) {
memento.setInChunkParsingMode(true);
processChunks(memento);
return;
} else if (contentLenHeader != null && !"0".equals(contentLenHeader.getValue())) {
String value = contentLenHeader.getValue();
int length = toInteger(value, "" + contentLenHeader);
memento.setContentLengthLeftToRead(length);
readInContentLengthBody(memento);
return;
}
}
use of org.webpieces.httpparser.api.common.Header in project webpieces by deanhiller.
the class HttpParserImpl method parseHeaders.
private void parseHeaders(List<String> lines, HttpMessage httpMessage) {
//ie. the spec says you can split a head in multiple lines(ick!!!)
for (String line : lines) {
Header header = parseHeader(line);
httpMessage.addHeader(header);
}
}
Aggregations