Git Product home page Git Product logo

alextmjugador / github-webhook-filter-proxy Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 2.0 907 KB

Serverless, easy-to-setup GitHub webhook filtering proxy that relays or drops events when they match configurable JSONPath expressions, powered by Cloudflare Workers.

License: MIT License

TypeScript 100.00%
cloudflare-worker filtering filtering-proxy github-webhook-handler github-webhook-listener github-webhooks proxy-server serverless webhooks hacktoberfest

github-webhook-filter-proxy's Introduction

Hello there! ๐Ÿ‘‹

๐šˆ๐š˜๐šž ๐šŠ๐š›๐šŽ ๐šŸ๐š’๐šœ๐š’๐š๐š˜๐š› ๐š—๐šž๐š–๐š‹๐šŽ๐š›

Profile views counter
๐™ท๐šŽ๐š›๐šŽ, ๐š‘๐šŠ๐šŸ๐šŽ ๐šŠ ๐šŸ๐š’๐š›๐š๐šž๐šŠ๐š• ๐šŒ๐š˜๐š˜๐š”๐š’๐šŽ ๐šŠ๐šœ ๐šŠ ๐š›๐šŽ๐š ๐šŠ๐š›๐š: ๐Ÿช

๐Ÿ“– About me

๐Ÿ’ป ๐™ธ'๐š– ๐š™๐šŠ๐šœ๐šœ๐š’๐š˜๐š—๐šŠ๐š๐šŽ ๐šŠ๐š‹๐š˜๐šž๐š ๐šœ๐š˜๐š๐š๐š ๐šŠ๐š›๐šŽ ๐šŽ๐š—๐š๐š’๐š—๐šŽ๐šŽ๐š›๐š’๐š—๐š,
๐šŒ๐š˜๐š–๐š™๐šž๐š๐šŽ๐š› ๐šœ๐šŒ๐š’๐šŽ๐š—๐šŒ๐šŽ ๐šŠ๐š—๐š ๐šœ๐šข๐šœ๐š๐šŽ๐š– ๐šŠ๐š๐š–๐š’๐š—๐š’๐šœ๐š๐š›๐šŠ๐š๐š’๐š˜๐š—.

โค๏ธ ๐™ธ ๐š•๐š˜๐šŸ๐šŽ ๐š๐š’๐š—๐š”๐šŽ๐š›๐š’๐š—๐š, ๐š˜๐š™๐šŽ๐š— ๐šœ๐š˜๐šž๐š›๐šŒ๐šŽ,
๐šŠ๐š—๐š ๐š’๐š—๐š๐šŽ๐š›๐šŽ๐šœ๐š๐š’๐š—๐š ๐šŒ๐š˜๐š—๐šŸ๐šŽ๐š›๐šœ๐šŠ๐š๐š’๐š˜๐š—๐šœ.

๐ŸŽฎ ๐™ธ ๐š™๐š•๐šŠ๐šข ๐šŸ๐š’๐š๐šŽ๐š˜ ๐š๐šŠ๐š–๐šŽ๐šœ.

๐Ÿง€ ๐™ธ ๐š•๐š’๐š”๐šŽ ๐šŒ๐š‘๐šŽ๐šŽ๐šœ๐šŽ.

Contact ๐Ÿค

Discord: alextmjugador Email: me@alegon.dev

โœจ My impact at a glance

Metrics

github-webhook-filter-proxy's People

Contributors

alextmjugador avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

github-webhook-filter-proxy's Issues

Use JSONPath expressions for matches instead of regular expressions

Problem

Formal language theory shows that regular expressions are inappropriate for parsing JSON data: JSON is defined by a context-free grammar, but pure regular expressions are only capable of recognizing regular languages, which are lower in the Chomsky hierarchy. Regular expressions have a straightforward text representation, however, and that's why they were chosen at first.

Solution

JSONPath expressions also have text representations, but they are much more adequate for proper navigation and filtering of any JSON structure. Using the proper operators, it is also possible to check values for equality, for example.

As a side benefit, matching with JSONPath expressions renders minification unnecessary.

Implementation strategy

It looks like the jsonpath npm package, and its jp.paths function in particular, provides the functionality we are looking for to do payload matching based on JSONPath expressions.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/ci.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
.github/workflows/deploy.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • cloudflare/wrangler-action v3.5.0@a84dcc6dd36c8769fbff7e622308c8050fc41f4f
npm
package.json
  • hex-to-array-buffer 2.0.0
  • jsonpath 1.1.1
  • @cloudflare/workers-types 4.20240512.0
  • @types/jsonpath 0.2.4
  • @typescript-eslint/eslint-plugin 7.10.0
  • @typescript-eslint/parser 7.10.0
  • eslint 8.57.0
  • eslint-config-prettier 9.1.0
  • prettier 3.2.5
  • typescript 5.4.5
  • wrangler 3.57.1

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.