x402_shelf 0.1.0 copy "x402_shelf: ^0.1.0" to clipboard
x402_shelf: ^0.1.0 copied to clipboard

Shelf middleware for enforcing x402 blockchain payments on protected HTTP routes.

example/main.dart

import 'dart:io';

import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as shelf_io;
import 'package:x402_core/x402_core.dart';
import 'package:x402_shelf/x402_shelf.dart';

void main() async {
  final routes = {
    const RoutePattern(HttpMethod.get, '/protected'): RouteConfig(
      accepts: [
        // add payment options
      ],
      description: 'Access to premium content',
    ),
  };

  final resourceServer = await X402ResourceServer.create(
    schemeServers: [
      // add your scheme servers here
    ],
  );

  final handler = const Pipeline()
      .addMiddleware(x402PaymentMiddleware(routes, resourceServer))
      .addHandler((request) => Response.ok('Request for "${request.url}"'));

  final server = await shelf_io.serve(handler, InternetAddress.anyIPv4, 8080);

  stdout.writeln(
    'Server running on http://${server.address.host}:${server.port}',
  );
}
0
likes
160
points
116
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Shelf middleware for enforcing x402 blockchain payments on protected HTTP routes.

Repository (GitHub)
View/report issues

Topics

#middleware #payment #web3 #blockchain #http

License

Apache-2.0 (license)

Dependencies

shelf, x402_core

More

Packages that depend on x402_shelf