http_semantics 0.9.7
http_semantics: ^0.9.7 copied to clipboard
Type-safe HTTP status codes and methods with semantic metadata and easy classification.
example/http_semantics_example.dart
import 'package:http_semantics/http_semantics.dart';
void main() {
// --- Working with HTTP Status Codes ---
final status = HttpStatus.ok;
print('Status: $status'); // 200 OK
print('Is success: ${status.isSuccess}'); // true
final error = HttpStatus.notFound;
print('Is error: ${error.isError}'); // true
print('Is client error: ${error.isClientError}'); // true
// --- Working with HTTP Methods ---
final method = HttpMethod.get;
print('Method: $method'); // GET
print('Is safe: ${method.safe}'); // true
print('Is idempotent: ${method.idempotent}'); // true
final post = HttpMethod.post;
print('Is $post safe? ${post.safe}'); // false
// Handling custom or WebDAV methods
final report = HttpMethod.custom('REPORT', idempotent: true);
print('Custom method: $report (idempotent: ${report.idempotent})');
// Using .of() for dynamic lookup
final dynamicMethod = HttpMethod.of('put');
print(
'Resolved method: $dynamicMethod (is idempotent: ${dynamicMethod.idempotent})',
);
}