Skip to content

Match by suffix (instead of prefix) #357

Open
@peterbe

Description

@peterbe

Prerequisites

  • I have written a descriptive issue title
  • I have searched existing issues to ensure the feature has not already been requested

🚀 Feature Proposal

In porting an Express + http-proxy-middleware app, there's something I can't do; match by suffix rather than prefix.
My Express code looks like this:

app.use("*/ping", backendProxy);

That means that any URL like /foo/ping or /bla/ble/blu/ping would be proxied away from this to that backend it was configured to.

This would be nice to be able to do with fastify-http-proxy.
(Perhaps it's possible with some hacks, but I can't figure it out)

Motivation

Another use-case other than the one above is if you wanted to match by file extension. E.g.

server.register(require('@fastify/http-proxy'), {
  upstream: 'http://my-api.example.com',
  pattern: '*.webp'
});

Example

server.register(require('@fastify/http-proxy'), {
  upstream: 'http://my-api.example.com',
  pattern: '*/info'
});

or

server.register(require('@fastify/http-proxy'), {
  upstream: 'http://my-api.example.com',
  suffix: '/info'
});

it would match http://localhost:3000/anything/info or http://localhost:3000/a/b/c/d/info

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions