A close cousin of the URL shortener, with bigger values. Paste text goes to object storage, a small metadata record holds the key, owner and expiry, and reads are served from a CDN and cache because popular pastes are read far more than they are written. Expired pastes are removed by a background job.
Functional requirements
- Create a paste (up to a few MB) and get a short URL
- Read a paste by URL, including a raw-text view
- Optional expiry, password protection and unlisted visibility
- Delete your own pastes
Non-functional requirements
- Reads are fast and highly available
- Pastes are durable until they expire
- Keys are hard to guess
Extensions
- Syntax highlighting and language detection.
- Paste history and versions.
- Private pastes encrypted client-side.