A server-side objectthat contains the content of and information about an HTTP request.
HttpRequest objects are generated by anHttpServer,which listens for HTTP requests on a specific host and port.For each request received, the HttpServer, which is aStream,generates anHttpRequest object and adds it to the stream.
AnHttpRequest object delivers the body content of the requestas a stream of byte lists.The object also contains information about the request,such as the method, URI, and headers.
In the following code, an HttpServer listensfor HTTP requests. When the server receives a request,it uses the HttpRequest object'smethod property to dispatch requests.
final HOST = InternetAddress.loopbackIPv4;final PORT = 80;HttpServer.bind(HOST, PORT).then((_server) { _server.listen((HttpRequest request) { switch (request.method) { case 'GET': handleGetRequest(request); break; case 'POST': ... } }, onError: handleError); // listen() failed.}).catchError(handleError);An HttpRequest object provides access to the associatedHttpResponseobject through the response property.The server writes its response to the body of the HttpResponse object.For example, here's a function that responds to a request:
void handleGetRequest(HttpRequest req) { HttpResponse res = req.response; res.write('Received request ${req.method}: ${req.uri.path}'); res.close();}Properties
- certificate→X509Certificate?
- The client certificate of the client making the request.no setter
- connectionInfo→HttpConnectionInfo?
- Information about the client connection.no setter
- contentLength→int
- The content length of the request body.no setter
- cookies→List<
Cookie> - The cookies in the request, from the "Cookie" headers.no setter
- first→Future<
Uint8List> - The first element of this stream.no setterinherited
- hashCode→int
- The hash code for this object.no setterinherited
- headers→HttpHeaders
- The request headers.no setter
- isBroadcast→bool
- Whether this stream is a broadcast stream.no setterinherited
- isEmpty→Future<
bool> - Whether this stream contains any elements.no setterinherited
- last→Future<
Uint8List> - The last element of this stream.no setterinherited
- length→Future<
int> - The number of elements in this stream.no setterinherited
- method→String
- The method, such as 'GET' or 'POST', for the request.no setter
- persistentConnection→bool
- The persistent connection state signaled by the client.no setter
- protocolVersion→String
- The HTTP protocol version used in the request,either "1.0" or "1.1".no setter
- requestedUri→Uri
- The requested URI for the request.no setter
- response→HttpResponse
- TheHttpResponse object, used for sending back the response to theclient.no setter
- runtimeType→Type
- A representation of the runtime type of the object.no setterinherited
- session→HttpSession
- The session for the given request.no setter
- single→Future<
Uint8List> - The single element of this stream.no setterinherited
- uri→Uri
- The URI for the request.no setter
Methods
- any(
booltest(Uint8Listelement))→Future< bool> - Checks whether
testaccepts any element provided by this stream.inherited - asBroadcastStream(
{voidonListen(StreamSubscription< Uint8List> subscription)?,voidonCancel(StreamSubscription<Uint8List> subscription)?})→Stream<Uint8List> - Returns a multi-subscription stream that produces the same events as this.inherited
- asyncExpand<
E> (Stream< E> ?convert(Uint8Listevent))→Stream<E> - Transforms each element into a sequence of asynchronous events.inherited
- asyncMap<
E> (FutureOr< E> convert(Uint8Listevent))→Stream<E> - Creates a new stream with each data event of this stream asynchronouslymapped to a new event.inherited
- cast<
R> ()→Stream< R> - Adapt this stream to be a
Stream<R>.inherited - contains(
Object?needle)→Future< bool> - Returns whether
needleoccurs in the elements provided by this stream.inherited - distinct(
[boolequals(Uint8Listprevious,Uint8Listnext)?])→Stream< Uint8List> - Skips data events if they are equal to the previous data event.inherited
- drain<
E> ([E?futureValue])→Future< E> - Discards all data on this stream, but signals when it is done or an erroroccurred.inherited
- elementAt(
intindex)→Future< Uint8List> - Returns the value of the
indexth data event of this stream.inherited - every(
booltest(Uint8Listelement))→Future< bool> - Checks whether
testaccepts all elements provided by this stream.inherited - expand<
S> (Iterable< S> convert(Uint8Listelement))→Stream<S> - Transforms each element of this stream into a sequence of elements.inherited
- firstWhere(
booltest(Uint8Listelement), {Uint8ListorElse()?})→Future< Uint8List> - Finds the first element of this stream matching
test.inherited - fold<
S> (SinitialValue,Scombine(Sprevious,Uint8Listelement))→Future< S> - Combines a sequence of values by repeatedly applying
combine.inherited - forEach(
voidaction(Uint8Listelement))→Future< void> - Executes
actionon each element of this stream.inherited - handleError(
FunctiononError, {booltest(dynamicerror)?})→Stream< Uint8List> - Creates a wrapper Stream that intercepts some errors from this stream.inherited
- join(
[Stringseparator =""])→Future< String> - Combines the string representation of elements into a single string.inherited
- lastWhere(
booltest(Uint8Listelement), {Uint8ListorElse()?})→Future< Uint8List> - Finds the last element in this stream matching
test.inherited - listen(
voidonData(Uint8Listevent)?, {Function?onError,voidonDone()?,bool?cancelOnError})→StreamSubscription< Uint8List> - Adds a subscription to this stream.inherited
- map<
S> (Sconvert(Uint8Listevent))→Stream< S> - Transforms each element of this stream into a new stream event.inherited
- noSuchMethod(
Invocationinvocation)→ dynamic - Invoked when a nonexistent method or property is accessed.inherited
- pipe(
StreamConsumer< Uint8List> streamConsumer)→Future - Pipes the events of this stream into
streamConsumer.inherited - reduce(
Uint8Listcombine(Uint8Listprevious,Uint8Listelement))→Future< Uint8List> - Combines a sequence of values by repeatedly applying
combine.inherited - singleWhere(
booltest(Uint8Listelement), {Uint8ListorElse()?})→Future< Uint8List> - Finds the single element in this stream matching
test.inherited - skip(
intcount)→Stream< Uint8List> - Skips the first
countdata events from this stream.inherited - skipWhile(
booltest(Uint8Listelement))→Stream< Uint8List> - Skip data events from this stream while they are matched by
test.inherited - take(
intcount)→Stream< Uint8List> - Provides at most the first
countdata events of this stream.inherited - takeWhile(
booltest(Uint8Listelement))→Stream< Uint8List> - Forwards data events while
testis successful.inherited - timeout(
DurationtimeLimit, {voidonTimeout(EventSink< Uint8List> sink)?})→Stream<Uint8List> - Creates a new stream with the same events as this stream.inherited
- toList(
)→Future< List< Uint8List> > - Collects all elements of this stream in aList.inherited
- toSet(
)→Future< Set< Uint8List> > - Collects the data of this stream in aSet.inherited
- toString(
)→String - A string representation of this object.inherited
- transform<
S> (StreamTransformer< Uint8List,S> streamTransformer)→Stream<S> - Applies
streamTransformerto this stream.inherited - where(
booltest(Uint8Listevent))→Stream< Uint8List> - Creates a new stream from this stream that discards some elements.inherited
Operators
- operator ==(
Objectother)→bool - The equality operator.inherited