HttpOverrides class - dart:io library (original) (raw)

This class facilitates overriding HttpClient with a mock implementation. It should be extended by another class in client code with overrides that construct a mock implementation. The implementation in this base class defaults to the actual HttpClient implementation. For example:

// An implementation of the HttpClient interface
class MyHttpClient implements HttpClient {
  MyHttpClient(SecurityContext? c);

  @override
  noSuchMethod(Invocation invocation) {
    // your implementation here
  }
}

void main() {
  HttpOverrides.runZoned(() {
    // Operations will use MyHttpClient instead of the real HttpClient
    // implementation whenever HttpClient is used.
  }, createHttpClient: (SecurityContext? c) => MyHttpClient(c));
}

Constructors

HttpOverrides()

Properties

hashCodeint

The hash code for this object.

no setterinherited

runtimeTypeType

A representation of the runtime type of the object.

no setterinherited

Methods

createHttpClient(SecurityContext? context)→ HttpClient

Returns a new HttpClient using the given context.

findProxyFromEnvironment(Uri url, Map<String, String>? environment)→ String

Resolves the proxy server to be used for HTTP connections.

noSuchMethod(Invocation invocation)→ dynamic

Invoked when a nonexistent method or property is accessed.

inherited

toString()→ String

A string representation of this object.

inherited

Operators

operator ==(Object other)→ bool

The equality operator.

inherited

Static Properties

currentHttpOverrides?

no setter

globalHttpOverrides?

The HttpOverrides to use in the root Zone.

no getter

Static Methods

runWithHttpOverrides<R>(R body(), HttpOverrides overrides)→ R

Runs body in a fresh Zone using the overrides found in overrides.

runZoned<R>(R body(), {HttpClient createHttpClient(SecurityContext?)?, String findProxyFromEnvironment(Uri uri, Map<String, String>? environment)?})→ R

Runs body in a fresh Zone using the provided overrides.