/auto_generate_cdp

experimental crate to generate the Chrome Devtools Protocol.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

auto_generate_cdp

Docs Crates.io

An experimental crate to generate the Chrome Devtools Protocol.

Contributors

Usage

Add the following to your Cargo.toml:

[dependencies]
serde = {version = "1", features = ["derive"]}
serde_json = '1'

[build-dependencies]
auto_generate_cdp = {version = "0.4.4",default-features = false}

To generate the protocol, add the following to your build/build.rs script.

use auto_generate_cdp::init;

fn main() {
  init();
}

This will generate protocol.rs in your $OUT_DIR folder when you run $ cargo check or $ cargo build. Use like:

// src/protocol.rs

include!(concat!(env!("OUT_DIR"), "/protocol.rs"));
// src/main.rs

mod protocol;

fn main() {
  // protocol module contains the definitions now
}

Compiling behind a firewall

auto_generate_cdp needs to fetch files from raw.githubusercontent.com during compilation.

If for whatever reason you cannot access raw.githubusercontent.com directly (e.g. corporate firewall and/or internet censorship), you can try using a proxy server by setting any one of the following environment variables: https_proxy, http_proxy, ALL_PROXY. For example:

# proxy server uses curl format
https_proxy=http://localhost:8080 cargo build