rocket_client 0.0.4 copy "rocket_client: ^0.0.4" to clipboard
rocket_client: ^0.0.4 copied to clipboard

for making HTTP requests and handling responses.

Rocket Client #

Rocket Client is a Dart package that provides a simple and easy-to-use HTTP client. It is built on top of the http package and provides additional features such as handling Rocket models, inspecting raw response data, and handling exceptions.

Usage #

Create an instance of the RocketClient class and use its request method to send HTTP requests:

final rocket = RocketClient(url: 'https://jsonplaceholder.typicode.com');

final response = await rocket.request('posts', method: HttpMethods.get);

print(response);

You can also provide a RocketModel to the request method to automatically handle the response data:

final rocket = RocketClient(url: 'https://jsonplaceholder.typicode.com');

final post = Post();

await rocket.request('posts/1', model: post, method: HttpMethods.get);

print(post.toJson());

The sendFile method can be used to send files to the server:

final rocket = RocketClient(url: 'https://example.com');

final response = await rocket.sendFile('upload', files: {'file': '/path/to/my/file.jpg'});

print(response);

API Reference #

RocketClient #

RocketClient({required String url, Map<String, String> headers = const {}, bool setCookies = false})

Creates a new instance of the RocketClient class.

  • url: The base URL for the API.
  • headers: Additional headers to be sent with every request.
  • setCookies: Whether to set cookies received from the server in subsequent requests.

Future<dynamic> request<T>(String endpoint, {RocketModel<T>? model, HttpMethods method = HttpMethods.get, RocketDataCallback? inspect, List<String>? targetData, Map<String, dynamic>? data, Map<String, dynamic>? params})

Sends an HTTP request to the specified endpoint using the specified HTTP method.

  • endpoint: The endpoint to send the request to.
  • model: An optional RocketModel to handle the response data.
  • method: The HTTP method to use.
  • inspect: A function to inspect the raw response data before it is processed.
  • targetData: A list of keys that will be used to extract a nested JSON object from the response data.
  • data: The request body, which will be serialized to JSON before being sent.
  • params: The query parameters to be added to the URL.

Returns a Future that resolves to the response data if model provided return it with data, Otherwise return json if can convert response, or string if can't convert to json response.

Future<dynamic> sendFile(String endpoint, {String id = "", HttpMethods method = HttpMethods.post, Map<String, String>? fields, Map<String, String>? files})

Sends a file or files to the specified endpoint and returns the response as a Future.

  • endpoint: The endpoint to send the file(s) to.
  • id: An optional ID to be included in the URL.
  • method: The HTTP method to use.
  • fields: Additional fields to be sent along with the file(s).
  • files: The file(s) to be sent.

Returns a Future that resolves to the processed response data.

HttpMethods #

An enum representing the HTTP methods.

  • get: The GET method.
  • post: The POST method.
  • put: The PUT method.
  • delete: The DELETE method.

Conclusion #

Rocket Client provides a simple and powerful way to send HTTP requests in Dart. Its easy-to-use API and support for Rocket models make it an excellent choice for building Dart applications that communicate with APIs. If you have any questions or issues, feel free to check out the Rocket Client GitHub repository or ask for help on the flutter_rocket package Discussions.

1
likes
150
pub points
6%
popularity

Publisher

verified publisherbixat.dev

for making HTTP requests and handling responses.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, http, rocket_model

More

Packages that depend on rocket_client