com.webpieces.http2parser.api.dto.HeadersFrame Maven / Gradle / Ivy
package com.webpieces.http2parser.api.dto;
import org.webpieces.data.api.DataWrapper;
import org.webpieces.data.api.DataWrapperGeneratorFactory;
import com.webpieces.http2parser.api.dto.lib.AbstractHttp2Frame;
import com.webpieces.http2parser.api.dto.lib.HasHeaderFragment;
import com.webpieces.http2parser.api.dto.lib.Http2FrameType;
import com.webpieces.http2parser.api.dto.lib.PriorityDetails;
public class HeadersFrame extends AbstractHttp2Frame implements HasHeaderFragment {
@Override
public Http2FrameType getFrameType() {
return Http2FrameType.HEADERS;
}
/* flags */
private boolean endOfStream = false; /* 0x1 */
private boolean endHeaders = false; /* 0x4 */
//private boolean padded = false; /* 0x8 */
//if PriorityDetails is null, this is false
//private boolean priority = false; /* 0x20 */
/* payload */
private PriorityDetails priorityDetails; /* optional */
private DataWrapper headerFragment;
private DataWrapper padding = DataWrapperGeneratorFactory.EMPTY;
public boolean isEndOfStream() {
return endOfStream;
}
public void setEndOfStream(boolean endStream) {
this.endOfStream = endStream;
}
@Override
public boolean isEndHeaders() {
return endHeaders;
}
@Override
public void setEndHeaders(boolean endHeaders) {
this.endHeaders = endHeaders;
}
public boolean isPriority() {
return priorityDetails != null;
}
@Override
public DataWrapper getHeaderFragment() {
return headerFragment;
}
@Override
public void setHeaderFragment(DataWrapper serializedHeaders) {
this.headerFragment = serializedHeaders;
}
public PriorityDetails getPriorityDetails() {
return priorityDetails;
}
public void setPriorityDetails(PriorityDetails priorityDetails) {
this.priorityDetails = priorityDetails;
}
public DataWrapper getPadding() {
return padding;
}
public void setPadding(DataWrapper padding) {
this.padding = padding;
}
@Override
public String toString() {
int fragSize = 0;
if(headerFragment != null)
fragSize = headerFragment.getReadableSize();
return "HeadersFrame{" +
super.toString() +
", endStream=" + endOfStream +
", endHeaders=" + endHeaders +
", priorityDetails=" + priorityDetails +
", headerFragment=" + fragSize +
", padding=" + padding +
"} ";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy