Skip to content

fermyon/fwf-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fermyon Wasm Functions Examples

Tutorials

Examples

  • A/B Testing using Cookies
    • This folder contains a Spin application showcasing how to implement A/B testing based on a cookie.
  • A/B Testing using Key-Value Store
    • This folder contains a Spin application providing different samples for doing A/B testing on Fermyon Wasm Functions.
  • A/B Testing using HTTP Headers (e.g User Agent)
    • This folder contains a Spin application that demonstrates how to implement A/B testing based on the user agent.
  • Aggregate JSON
    • This sample shows how to make concurrent outgoing HTTP requests and combine the results.
  • AI Sentiment Analysis
    • This repository contains an API that performs sentiment analysis and a simple UI to interact with it.
  • AI Sentiment Analysis (Ollama Edition)
    • This sample illustrates how to build an AI Sentiment Analysis API using a configurable Large Language Model (LLM) hosted on Ollama.
  • Alter Response Headers
    • This sample shows how to alter the headers as you stream a response from an origin server back to a client.
  • Auto-Complete API
    • This sample shows how you can implement an API to support autocompletion for input boxes.
  • Bulk Redirects
    • This sample illustrates how you could bulk redirect requests using an object to map incoming requests to a configured redirection target.
  • Cookie Parsing
    • This sample demonstrates cookie parsing using the NPM cookie package.
  • Early Hints with HarperDB
    • This sample showcases using Fermyon Wasm Functions to query HarperDB for early hints.
  • Fetch JSON
    • This example shows how to fetch data via a GET request, read in JSON and return the results.
  • GeoIP
    • This sample shows how to build a library component that uses a maxminddb to provide geoip information. The application component consumes the geoip component as a dependency querying the geoip database upon HTTP request.
  • GitHub GraphQL queries
    • This sample illustrates how to send GraphQL queries using a popular Rust library.
  • HTML Rewrite
    • TypeScript and Rust implementations for a Spin app that does HTML rewriting using CSS selectors.
  • JWT Validator
    • This folder contains a Spin application which is able to validate JWT tokens issued by any OAuth 2.0 & OpenID Connect compliant Identity Provider (or Token Issuer).
  • Large-Scale Redirects
    • A high-performance, large-scale HTTP redirect service implemented as a Spin application.
  • Limit Access
    • This Spin application is designed to limit access to a given origin, until a configurable point in time has reached. Incoming requests hitting the Spin application before the desired point in time has been reached, won't be forwarded to the origin. Instead a configurable HTTP status code will be returned.
  • Linode Object Storage Streaming
    • This is a sample function that streams a file from Linode Object storage and applies a transformation to each chunk.
  • Promo Code Validation
    • This Spin application illustrates how one could validate promo codes stored in a Key Value Store.
  • Reading the Body of a POST Request
    • This sample illustrates how to read the body of an HTTP POST request.
  • Respond with Another Site
    • This sample shows a Fermyon Wasm Function that responds to all GET requests with the response from another site (in this case a 'random animal facts' sample).
  • Response Header Modification
    • This folder contains a Spin app, that is allowed to make outbound HTTP requests to the Star Wars API. Upon calling the origin (Star Wars API), the accept header from the incoming request is used (if not specified it's defaulting to */*).
  • Rewrite for bots
    • This sample shows a Wasm Function that defends against price scraping while still enabling scraper bots to 'see' product information.
  • TodoMVC (VueJS + TinyGo + Key-Value Store)
    • This Spin application consists of two major components:
      • frontend: Vue JS frontend for managing todos borrowed from TodoMVC
      • api: HTTP API exposing different endpoints for managing todos (implemented using TinyGo)
  • Traffic Filtering: Block By IP address
    • This sample illustrates how you could block clients from accessing a particular resource by maintaining an IP address block list.
  • Traffic Filtering: Block By user country
    • This sample illustrates how you could block clients from accessing a particular resource by maintaining an Country blocklist.
  • Traffic mirroring and splitting
    • A small traffic monitoring application.

About

A curated list of examples for FWF

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 14