Class RequestLine

java.lang.Object
dev.relism.flash.models.RequestLine

public class RequestLine extends Object
The parsed request line plus headers: method, path, optional query, optional protocol token, and the header container. Internal — reached via Request.getRequestLine(), not user-facing API. One instance per connection, repositioned via reset(dev.relism.flash.http.HttpMethod, dev.relism.fpr.core.ByteView, dev.relism.fpr.core.ByteView, dev.relism.fpr.core.ByteView, dev.relism.flash.models.HeaderView) for every request rather than reallocated — RequestParser owns it exactly the way it owns Http1HeaderMap. reset(dev.relism.flash.http.HttpMethod, dev.relism.fpr.core.ByteView, dev.relism.fpr.core.ByteView, dev.relism.fpr.core.ByteView, dev.relism.flash.models.HeaderView) is public rather than package-private — matching Http1HeaderMap.reset(byte[], int, int)'s and PathParams.reset(dev.relism.fpr.core.ByteView, int)'s own precedent — because RequestParser (the owner and sole caller) lives in a different package (dev.relism.flash, not dev.relism.flash.models). The public constructor below remains for test/manual construction and simply delegates to reset(dev.relism.flash.http.HttpMethod, dev.relism.fpr.core.ByteView, dev.relism.fpr.core.ByteView, dev.relism.fpr.core.ByteView, dev.relism.flash.models.HeaderView).

protocol is optional

HTTP/1.1 always has a protocol token on the wire ("HTTP/1.1"); HTTP/2 has no equivalent — a stream's version is implicit in which connection it belongs to. getProtocol() may be null for a header container built by a future non-h1 implementation; h1 always supplies a non-null value today.