https://github.com/proxy-wasm/proxy-wasm-cpp-sdk
WebAssembly for Proxies (C++ SDK)
https://github.com/proxy-wasm/proxy-wasm-cpp-sdk
envoy envoy-proxy proxy wasm webassembly
Last synced: about 2 months ago
JSON representation
WebAssembly for Proxies (C++ SDK)
- Host: GitHub
- URL: https://github.com/proxy-wasm/proxy-wasm-cpp-sdk
- Owner: proxy-wasm
- License: apache-2.0
- Created: 2020-03-01T19:09:36.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-08-06T02:47:31.000Z (11 months ago)
- Last Synced: 2024-08-07T00:01:42.091Z (11 months ago)
- Topics: envoy, envoy-proxy, proxy, wasm, webassembly
- Language: C++
- Homepage:
- Size: 12 MB
- Stars: 137
- Watchers: 17
- Forks: 67
- Open Issues: 54
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# WebAssembly for Proxies (C++ SDK)
[![Build Status][build-badge]][build-link]
[![Apache 2.0 License][license-badge]][license-link]Proxy-Wasm is a specification and supporting framework for using
[WebAssembly](https://webassembly.org) (Wasm) to extend the functionality of
network proxies. It enables developers to write custom logic (plugins) that are
compiled to Wasm modules and then loaded and executed by the proxy.Proxy-Wasm consists of multiple parts:
* An [ABI](https://github.com/proxy-wasm/spec) that specifies the low-level
interface between network proxies and Wasm virtual machines that run the
plugins.
* [Host implementations](https://github.com/proxy-wasm/spec#host-environments)
of the ABI, provided by network proxies.
* [Language-specific SDKs](https://github.com/proxy-wasm/spec#sdks) that layer
on top of the ABI, providing a more natural and programmer-friendly API for
invoking and implementing Proxy-Wasm functions and callbacks.
This repository provides the C++ SDK.## Getting started
* Read the [API overview](docs/api_overview.md) to learn about [Proxy-Wasm
concepts](docs/api_overview.md#concepts-and-terminology) and how they are
represented in the C++ SDK.
* View an [example plugin](example/http_wasm_example.cc).
* Refer to [API documentation](docs/api_overview.md#codemap).
* [Build](docs/building.md) plugin code.[build-badge]: https://github.com/proxy-wasm/proxy-wasm-cpp-sdk/workflows/C++/badge.svg?branch=master
[build-link]: https://github.com/proxy-wasm/proxy-wasm-cpp-sdk/actions?query=workflow%3AC%2B%2B+branch%3Amaster
[license-badge]: https://img.shields.io/github/license/proxy-wasm/proxy-wasm-cpp-sdk
[license-link]: https://github.com/proxy-wasm/proxy-wasm-cpp-sdk/blob/master/LICENSE