Search categories, packages and repositories

Package detailsv1.2.0

shelf_static

Static file server support for the shelf package and ecosystem.

AndroidiOSmacOSWindowsLinux
30-day downloads
12.6M
Likes
98
Pub points
160

Install package

flutter pub add shelf_static

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Shelf Static is a Dart package that provides static file serving capabilities for the Shelf web server framework. It enables developers to serve static assets such as HTML, CSS, JavaScript, and images from a specified directory, making it ideal for hosting simple web applications or serving frontend resources alongside dynamic APIs. Built on top of the Shelf ecosystem, it integrates seamlessly with other Shelf middleware and handlers. The package supports efficient file caching, content type detection, and optional directory listing.

Use cases

  • Serving static frontend files
  • Hosting simple websites
  • Providing asset delivery for APIs
  • Enabling local development servers
  • Supporting hybrid app backends

Key features

  • Easy integration with Shelf
  • Automatic content type detection
  • Directory listing support
  • File caching for performance
  • Configurable root directory

Suitable for

  • Web developers using Shelf
  • Full-stack Dart applications
  • Local development environments
  • Simple API + static site setups
  • Backend services needing file serving

Considerations

  • Not recommended for production at scale
  • Requires manual security configuration
  • Limited advanced features like compression
  • No built-in authentication
  • Best suited for small to medium static file needs

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Build Status

About Shelf

Shelf makes it easy to create and compose web servers and parts of web servers. How?

  • Expose a small set of simple types.
  • Map server logic into a simple function: a single argument for the request, the response is the return value.
  • Trivially mix and match synchronous and asynchronous processing.
  • Flexibility to return a simple string or a byte stream with the same model.

It was inspired by Connect for NodeJS and Rack for Ruby.

See the package:shelf readme for more information.

Packages

Package Description Issues Version
shelf A model for web server middleware that encourages composition and easy reuse. issues pub package
shelf_packages_handler A shelf handler for serving a packages/ directory. issues pub package
shelf_proxy A shelf handler for proxying HTTP requests to another server. issues pub package
shelf_router A convenient request router for the shelf web-framework, with support for URL-parameters, nested routers and routers generated from source annotations. issues pub package
shelf_router_generator A package:build-compatible builder for generating request routers for the shelf web-framework based on source annotations. issues pub package
shelf_static Static file server support for the shelf package and ecosystem. issues pub package
shelf_test_handler A Shelf handler that makes it easy to test HTTP interactions. issues pub package
shelf_web_socket A shelf handler that wires up a listener for every connection. issues pub package
_shelf_compliance HTTP/1.1 compliance and hardening tests. issues (not published)

Publishing automation

For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

Categories

Dependencies

Dependency list 5 items

Source repository

Projects using this package