chopper library
Chopper is an http client generator using source_gen and inspired by Retrofit.
Classes
- Authenticator
-
This method should return a Request that includes credentials to satisfy an authentication challenge received in
response
. It should returnnull
if the challenge cannot be satisfied. - Body
- Declares the Body of Post, Put, and Patch requests
- ChopperApi
- Defines a Chopper API.
- ChopperClient
- ChopperClient is the main class of the Chopper API.
- ChopperService
-
A marker and helper class used by
chopper_generator
to generate network call implementations. - Converter
- An interface for implementing request and response converters.
- CurlInterceptor
- A RequestInterceptor implementation that prints a curl request equivalent to the network call channeled through it for debugging purposes.
- Delete
- Defines a method as an HTTP DELETE request.
- ErrorConverter
- An interface for implementing error response converters.
- FactoryConverter
- Defines custom Converter methods for a single network API endpoint. See ConvertRequest, ConvertResponse.
- Field
-
Defines a field for a
x-www-form-urlencoded
request. Automatically binds to the name of the method parameter. - FieldMap
- Provides field parameters of a request as Map<String, dynamic>.
- FormUrlEncodedConverter
- A Converter implementation that converts only Requests having a Map as their body.
- Get
- Defines a method as an HTTP GET request.
- Head
- Defines a method as an HTTP HEAD request.
- Header
- Passes a value to the header of the request.
- HeadersInterceptor
- A RequestInterceptor that adds headers to every request.
- HttpLoggingInterceptor
- A RequestInterceptor and ResponseInterceptor implementation which logs HTTP request and response data.
- HttpMethod
- JsonConverter
-
A Converter implementation that calls
json.encode
on Requests andjson.decode
on Responses using the dart:convert package's utf8 and json utilities. - Method
- Defines an HTTP method.
- Multipart
- Defines a multipart request.
- Options
- Part
- Use Part to define a part of a Multipart request.
- PartFile
- Use PartFile to define a file field for a Multipart request.
- PartFileMap
- Provides partFile parameters of a request as PartValueFile.
- PartMap
- Provides part parameters of a request as PartValue.
-
PartValue<
T> - Represents a part in a multipart request.
-
PartValueFile<
T> - Represents a file part in a multipart request.
- Patch
- Defines a method as an HTTP PATCH request. Use the Body annotation to pass data to send.
- Path
- Provides a parameter in the url.
- Post
- Defines a method as an HTTP POST request.
- Put
- Defines a method as an HTTP PUT request.
- Query
- Provides the query parameters of a request.
- QueryMap
- Provides query parameters of a request as Map<String, dynamic>.
- Request
- This class represents an HTTP request that can be made with Chopper.
- RequestInterceptor
- An interface for implementing request interceptors.
-
Response<
BodyType> -
A
http.BaseResponse
wrapper representing a response of a Chopper network call. - ResponseInterceptor
- An interface for implementing response interceptors.
Constants
- body → const Body
- contentTypeKey → const String
- formEncodedHeaders → const String
- jsonApiHeaders → const String
- jsonHeaders → const String
- multipart → const Multipart
Properties
-
allowedInterceptorsType
→ List<
Type> -
final
- chopperLogger → Logger
-
final
Functions
-
applyHeader(
Request request, String name, String value, {bool override = true}) → Request -
Creates a new Request by copying
request
and adding a header with the provided keyname
and valuevalue
to the result. -
applyHeaders(
Request request, Map< String, String> headers, {bool override = true}) → Request -
Creates a new Request by copying
request
and adding the providedheaders
to the result. -
buildUri(
String baseUrl, String url, Map< String, dynamic> parameters) → Uri -
Builds a valid URI from
baseUrl
,url
andparameters
. -
isTypeOf<
ThisType, OfType> () → bool -
toHttpRequest(
dynamic body, String method, Uri uri, Map< String, String> headers) → Future<Request> -
toMultipartRequest(
List< PartValue> parts, String method, Uri uri, Map<String, String> headers) → Future<MultipartRequest> -
toStreamedRequest(
Stream< List< bodyStream, String method, Uri uri, Map<int> >String, String> headers) → Future<StreamedRequest>
Typedefs
-
ConvertRequest
= FutureOr<
Request> Function(Request request) - A function that should convert the body of a Request to the HTTP representation.
-
ConvertResponse<
T> = FutureOr< Response> Function(Response response) - A function that should convert the body of a Response from the HTTP representation to a Dart object.
-
DynamicResponseInterceptorFunc
= FutureOr<
Response> Function(Response response) -
RequestInterceptorFunc
= FutureOr<
Request> Function(Request request) -
ResponseInterceptorFunc1
= FutureOr<
Response< Function<BodyType> >BodyType>(Response< BodyType> response) -
ResponseInterceptorFunc2
= FutureOr<
Response< Function<BodyType> >BodyType, InnerType>(Response< BodyType> response)