xrpc 0.1.2 copy "xrpc: ^0.1.2" to clipboard
xrpc: ^0.1.2 copied to clipboard

Provide an HTTP client specialized for XRPC communication in AT Protocol.

xrpc

Provide Standard XRPC Supported By AT Protocol to Dart/Flutter 🎯


GitHub Sponsor GitHub Sponsor

pub package Dart SDK Version Test/Analyzer codecov Issues Pull Requests Stars Contributors Last Commits License Contributor Covenant


1. Guide 🌎 #

This library provides the easiest way to use XRPC supported by AT Protocol in Dart and Flutter apps.

Show some ❤️ and star the repo to support the project.

Also if you need more sample codes, please check examples.

1.1. Getting Started ⚡ #

1.1.1. Install Library #

With Dart:

 dart pub add xrpc

Or With Flutter:

 flutter pub add xrpc

1.1.2. Import #

import 'package:xrpc/xrpc.dart';

1.1.3. Implementation #

import 'package:atproto/atproto.dart' as atproto;
import 'package:xrpc/xrpc.dart' as xrpc;

Future<void> main() async {
  final response = await xrpc.procedure(
    xrpc.NSID.create(
      'session.atproto.com',
      'create',
    ),
    body: {
      'handle': 'HANDLE',
      'password': 'PASSWORD',
    },
    to: atproto.Session.fromJson,
  );

  final session = await xrpc.query(
    xrpc.NSID.create(
      'session.atproto.com',
      'get',
    ),
    headers: {'Authorization': 'Bearer ${response.data.accessJwt}'},
    to: atproto.CurrentSession.fromJson,
  );

  print(session);
}

1.2. Contribution 🏆 #

If you would like to contribute to xrpc, please create an issue or create a Pull Request.

There are many ways to contribute to the OSS. For example, the following subjects can be considered:

  • There are request parameters or response fields that are not implemented.
  • Documentation is outdated or incomplete.
  • Have a better way or idea to achieve the functionality.
  • etc...

You can see more details from resources below:

Or you can create a discussion if you like.

Feel free to join this development, diverse opinions make software better!

1.3. Support ❤️ #

The simplest way to show us your support is by giving the project a star at GitHub and Pub.dev.

You can also support this project by becoming a sponsor on GitHub:

You can also show on your repository that your app is made with xrpc by using one of the following badges:

Powered by xrpc Powered by xrpc Powered by xrpc

[![Powered by xrpc](https://img.shields.io/badge/Powered%20by-xrpc-00acee.svg)](https://github.com/myConsciousness/atproto.dart)
[![Powered by xrpc](https://img.shields.io/badge/Powered%20by-xrpc-00acee.svg?style=flat-square)](https://github.com/myConsciousness/atproto.dart)
[![Powered by xrpc](https://img.shields.io/badge/Powered%20by-xrpc-00acee.svg?style=for-the-badge)](https://github.com/myConsciousness/atproto.dart)

1.4. License 🔑 #

All resources of xrpc is provided under the BSD-3 license.

Copyright 2023 Shinya Kato. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided the conditions.

Note
License notices in the source are strictly validated based on .github/header-checker-lint.yml. Please check header-checker-lint.yml for the permitted standards.

1.5. More Information 🧐 #

xrpc was designed and implemented by Shinya Kato (@myConsciousness).

2
likes
0
points
2.81k
downloads

Publisher

verified publisheratprotodart.com

Weekly Downloads

Provide an HTTP client specialized for XRPC communication in AT Protocol.

Repository (GitHub)
View/report issues

Funding

Consider supporting this project:

github.com

License

unknown (license)

Dependencies

cbor, freezed_annotation, http, json_annotation, meta, mime, nsid, web_socket_channel

More

Packages that depend on xrpc