prew

Crates.ioprew
lib.rsprew
version0.3.3
sourcesrc
created_at2023-01-25 03:22:52.91793
updated_at2024-01-22 05:38:15.047226
descriptionReverse rewrite proxy for PostgreSQL
homepagehttps://github.com/SubstructureOne/prew
repositoryhttps://github.com/SubstructureOne/prew
max_upload_size
id767103
size102,918
dek (SubstructureDek)

documentation

README

Prew

Prew is a reverse rewrite proxy for PostgreSQL (other protocol support pending). It generalizes rewrite rules into:

  • A parser
  • A filter
  • A transformer
  • An encoder
  • A reporter

A sample binary is included but it is primarily intended to be pulled in as a library and provided custom components for the rewrite rules.

Packets returned from the service being proxied are currently not subject to any rules and are always passed back to the client unmodified.

Proxy Components

Parser

The parser is responsible for parsing a packet into a standard struct, that will be used for the following rules.

Filter

The filter can selectively filter out packets. No response is sent for filtered packets.

Transformer

The transformer can optionally modify packet content (i.e., the rewrite step).

Encoder

The encoder encodes the transformed packet back into its raw format (skipped if no transformation was made).

Reporter

The reporter runs concurrently to provide logging or additional side-functionality based on the content of the packet.

Attributions

Prew is based in large part upon sql-proxy-rs by Raymond Cheng.

Commit count: 45

cargo fmt