From 49c22a8a3936a86181facd6d95165cf4a2f2860f Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Mon, 1 Apr 2019 18:51:17 -0700 Subject: [PATCH] Add postgres examples to TLS crates --- tokio-postgres-native-tls/Cargo.toml | 1 + tokio-postgres-native-tls/src/lib.rs | 35 +++++++++++++++++++++++----- tokio-postgres-openssl/Cargo.toml | 1 + tokio-postgres-openssl/src/lib.rs | 30 ++++++++++++++++++++---- 4 files changed, 57 insertions(+), 10 deletions(-) diff --git a/tokio-postgres-native-tls/Cargo.toml b/tokio-postgres-native-tls/Cargo.toml index 26f21f93..ec1da558 100644 --- a/tokio-postgres-native-tls/Cargo.toml +++ b/tokio-postgres-native-tls/Cargo.toml @@ -24,3 +24,4 @@ tokio-postgres = { version = "0.4.0-rc.1", path = "../tokio-postgres", default-f [dev-dependencies] tokio = "0.1.7" +postgres = { version = "0.1.0", path = "../postgres" } diff --git a/tokio-postgres-native-tls/src/lib.rs b/tokio-postgres-native-tls/src/lib.rs index 1b873bea..b0fcf4b0 100644 --- a/tokio-postgres-native-tls/src/lib.rs +++ b/tokio-postgres-native-tls/src/lib.rs @@ -1,18 +1,18 @@ -//! TLS support for `tokio-postgres` via `native-tls. +//! TLS support for `tokio-postgres` and `postgres` via `native-tls. //! -//! # Example +//! # Examples //! //! ```no_run //! use native_tls::{Certificate, TlsConnector}; //! use tokio_postgres_native_tls::MakeTlsConnector; //! use std::fs; //! -//! let cert = fs::read("database_cert.pem").unwrap(); -//! let cert = Certificate::from_pem(&cert).unwrap(); +//! # fn main() -> Result<(), Box> { +//! let cert = fs::read("database_cert.pem")?; +//! let cert = Certificate::from_pem(&cert)?; //! let connector = TlsConnector::builder() //! .add_root_certificate(cert) -//! .build() -//! .unwrap(); +//! .build()?; //! let connector = MakeTlsConnector::new(connector); //! //! let connect_future = tokio_postgres::connect( @@ -21,6 +21,29 @@ //! ); //! //! // ... +//! # Ok(()) +//! # } +//! ``` +//! +//! ```no_run +//! use native_tls::{Certificate, TlsConnector}; +//! use tokio_postgres_native_tls::MakeTlsConnector; +//! use std::fs; +//! +//! # fn main() -> Result<(), Box> { +//! let cert = fs::read("database_cert.pem")?; +//! let cert = Certificate::from_pem(&cert)?; +//! let connector = TlsConnector::builder() +//! .add_root_certificate(cert) +//! .build()?; +//! let connector = MakeTlsConnector::new(connector); +//! +//! let mut client = postgres::Client::connect( +//! "host=localhost user=postgres sslmode=require", +//! connector, +//! )?; +//! # Ok(()) +//! # } //! ``` #![doc(html_root_url = "https://docs.rs/tokio-postgres-native-tls/0.1.0-rc.1")] #![warn(rust_2018_idioms, clippy::all, missing_docs)] diff --git a/tokio-postgres-openssl/Cargo.toml b/tokio-postgres-openssl/Cargo.toml index 88a14074..0ba6a863 100644 --- a/tokio-postgres-openssl/Cargo.toml +++ b/tokio-postgres-openssl/Cargo.toml @@ -24,3 +24,4 @@ tokio-postgres = { version = "0.4.0-rc.1", path = "../tokio-postgres", default-f [dev-dependencies] tokio = "0.1.7" +postgres = { version = "0.1", path = "../postgres" } diff --git a/tokio-postgres-openssl/src/lib.rs b/tokio-postgres-openssl/src/lib.rs index f3c336cd..22098741 100644 --- a/tokio-postgres-openssl/src/lib.rs +++ b/tokio-postgres-openssl/src/lib.rs @@ -1,13 +1,14 @@ -//! TLS support for `tokio-postgres` via `openssl`. +//! TLS support for `tokio-postgres` and `postgres` via `openssl`. //! -//! # Example +//! # Examples //! //! ```no_run //! use openssl::ssl::{SslConnector, SslMethod}; //! use tokio_postgres_openssl::MakeTlsConnector; //! -//! let mut builder = SslConnector::builder(SslMethod::tls()).unwrap(); -//! builder.set_ca_file("database_cert.pem").unwrap(); +//! # fn main() -> Result<(), Box> { +//! let mut builder = SslConnector::builder(SslMethod::tls())?; +//! builder.set_ca_file("database_cert.pem")?; //! let connector = MakeTlsConnector::new(builder.build()); //! //! let connect_future = tokio_postgres::connect( @@ -16,6 +17,27 @@ //! ); //! //! // ... +//! # Ok(()) +//! # } +//! ``` +//! +//! ```no_run +//! use openssl::ssl::{SslConnector, SslMethod}; +//! use tokio_postgres_openssl::MakeTlsConnector; +//! +//! # fn main() -> Result<(), Box> { +//! let mut builder = SslConnector::builder(SslMethod::tls())?; +//! builder.set_ca_file("database_cert.pem")?; +//! let connector = MakeTlsConnector::new(builder.build()); +//! +//! let mut client = postgres::Client::connect( +//! "host=localhost user=postgres sslmode=require", +//! connector, +//! )?; +//! +//! // ... +//! # Ok(()) +//! # } //! ``` #![doc(html_root_url = "https://docs.rs/tokio-postgres-openssl/0.1.0-rc.1")] #![warn(rust_2018_idioms, clippy::all, missing_docs)]