Skip to content

Commit 811b0ff

Browse files
committed
Restructure SslMode
This is a large breaking change but makes things make way more sense
1 parent 2818b9d commit 811b0ff

7 files changed

Lines changed: 110 additions & 110 deletions

File tree

src/lib.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
//! }
1515
//!
1616
//! fn main() {
17-
//! let conn = Connection::connect("postgresql://postgres@localhost", &SslMode::None)
17+
//! let conn = Connection::connect("postgresql://postgres@localhost", SslMode::None)
1818
//! .unwrap();
1919
//!
2020
//! conn.execute("CREATE TABLE person (
@@ -263,15 +263,15 @@ pub struct CancelData {
263263
/// # use postgres::{Connection, SslMode};
264264
/// # use std::thread;
265265
/// # let url = "";
266-
/// let conn = Connection::connect(url, &SslMode::None).unwrap();
266+
/// let conn = Connection::connect(url, SslMode::None).unwrap();
267267
/// let cancel_data = conn.cancel_data();
268268
/// thread::spawn(move || {
269269
/// conn.execute("SOME EXPENSIVE QUERY", &[]).unwrap();
270270
/// });
271-
/// postgres::cancel_query(url, &SslMode::None, cancel_data).unwrap();
271+
/// postgres::cancel_query(url, SslMode::None, cancel_data).unwrap();
272272
/// ```
273273
pub fn cancel_query<T>(params: T,
274-
ssl: &SslMode,
274+
ssl: SslMode,
275275
data: CancelData)
276276
-> result::Result<(), ConnectError>
277277
where T: IntoConnectParams
@@ -355,16 +355,16 @@ impl IsolationLevel {
355355
}
356356

357357
/// Specifies the SSL support requested for a new connection.
358-
pub enum SslMode {
358+
pub enum SslMode<'a> {
359359
/// The connection will not use SSL.
360360
None,
361361
/// The connection will use SSL if the backend supports it.
362-
Prefer(Box<NegotiateSsl + std::marker::Sync + Send>),
362+
Prefer(&'a NegotiateSsl),
363363
/// The connection must use SSL.
364-
Require(Box<NegotiateSsl + std::marker::Sync + Send>),
364+
Require(&'a NegotiateSsl),
365365
}
366366

367-
impl fmt::Debug for SslMode {
367+
impl<'a> fmt::Debug for SslMode<'a> {
368368
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
369369
match *self {
370370
SslMode::None => fmt.write_str("None"),
@@ -404,7 +404,7 @@ impl Drop for InnerConnection {
404404
}
405405

406406
impl InnerConnection {
407-
fn connect<T>(params: T, ssl: &SslMode) -> result::Result<InnerConnection, ConnectError>
407+
fn connect<T>(params: T, ssl: SslMode) -> result::Result<InnerConnection, ConnectError>
408408
where T: IntoConnectParams
409409
{
410410
let params = try!(params.into_connect_params().map_err(ConnectError::BadConnectParams));
@@ -874,14 +874,14 @@ impl Connection {
874874
/// use postgres::{Connection, SslMode};
875875
///
876876
/// let url = "postgresql://postgres:hunter2@localhost:2994/foodb";
877-
/// let conn = Connection::connect(url, &SslMode::None).unwrap();
877+
/// let conn = Connection::connect(url, SslMode::None).unwrap();
878878
/// ```
879879
///
880880
/// ```rust,no_run
881881
/// use postgres::{Connection, SslMode};
882882
///
883883
/// let url = "postgresql://postgres@%2Frun%2Fpostgres";
884-
/// let conn = Connection::connect(url, &SslMode::None).unwrap();
884+
/// let conn = Connection::connect(url, SslMode::None).unwrap();
885885
/// ```
886886
///
887887
/// ```rust,no_run
@@ -900,10 +900,10 @@ impl Connection {
900900
/// database: None,
901901
/// options: vec![],
902902
/// };
903-
/// let conn = Connection::connect(params, &SslMode::None).unwrap();
903+
/// let conn = Connection::connect(params, SslMode::None).unwrap();
904904
/// # }
905905
/// ```
906-
pub fn connect<T>(params: T, ssl: &SslMode) -> result::Result<Connection, ConnectError>
906+
pub fn connect<T>(params: T, ssl: SslMode) -> result::Result<Connection, ConnectError>
907907
where T: IntoConnectParams
908908
{
909909
InnerConnection::connect(params, ssl).map(|conn| Connection { conn: RefCell::new(conn) })
@@ -966,7 +966,7 @@ impl Connection {
966966
///
967967
/// ```rust,no_run
968968
/// # use postgres::{Connection, SslMode};
969-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
969+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
970970
/// let trans = conn.transaction().unwrap();
971971
/// trans.execute("UPDATE foo SET bar = 10", &[]).unwrap();
972972
/// // ...
@@ -1002,7 +1002,7 @@ impl Connection {
10021002
/// ```rust,no_run
10031003
/// # use postgres::{Connection, SslMode};
10041004
/// # let x = 10i32;
1005-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
1005+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
10061006
/// let stmt = conn.prepare("SELECT foo FROM bar WHERE baz = $1").unwrap();
10071007
/// for row in &stmt.query(&[&x]).unwrap() {
10081008
/// let foo: String = row.get(0);
@@ -1025,7 +1025,7 @@ impl Connection {
10251025
/// ```rust,no_run
10261026
/// # use postgres::{Connection, SslMode};
10271027
/// # let x = 10i32;
1028-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
1028+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
10291029
/// let stmt = conn.prepare_cached("SELECT foo FROM bar WHERE baz = $1").unwrap();
10301030
/// for row in &stmt.query(&[&x]).unwrap() {
10311031
/// let foo: String = row.get(0);
@@ -1075,7 +1075,7 @@ impl Connection {
10751075
///
10761076
/// ```rust,no_run
10771077
/// # use postgres::{Connection, SslMode, Result};
1078-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
1078+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
10791079
/// conn.batch_execute("
10801080
/// CREATE TABLE person (
10811081
/// id SERIAL PRIMARY KEY,

src/priv_io.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,14 @@ fn open_socket(params: &ConnectParams) -> Result<InternalStream, ConnectError> {
139139
}
140140

141141
pub fn initialize_stream(params: &ConnectParams,
142-
ssl: &SslMode)
142+
ssl: SslMode)
143143
-> Result<Box<StreamWrapper>, ConnectError> {
144144
let mut socket = Stream(try!(open_socket(params)));
145145

146-
let (ssl_required, negotiator) = match *ssl {
146+
let (ssl_required, negotiator) = match ssl {
147147
SslMode::None => return Ok(Box::new(socket)),
148-
SslMode::Prefer(ref negotiator) => (false, negotiator),
149-
SslMode::Require(ref negotiator) => (true, negotiator),
148+
SslMode::Prefer(negotiator) => (false, negotiator),
149+
SslMode::Require(negotiator) => (true, negotiator),
150150
};
151151

152152
try!(socket.write_message(&SslRequest { code: message::SSL_CODE }));

src/rows.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ impl<'a> Row<'a> {
200200
///
201201
/// ```rust,no_run
202202
/// # use postgres::{Connection, SslMode};
203-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
203+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
204204
/// let stmt = conn.prepare("SELECT foo, bar from BAZ").unwrap();
205205
/// for row in &stmt.query(&[]).unwrap() {
206206
/// let foo: i32 = row.get(0);

src/stmt.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ impl<'conn> Statement<'conn> {
162162
///
163163
/// ```rust,no_run
164164
/// # use postgres::{Connection, SslMode};
165-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
165+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
166166
/// # let bar = 1i32;
167167
/// # let baz = true;
168168
/// let stmt = conn.prepare("UPDATE foo SET bar = $1 WHERE baz = $2").unwrap();
@@ -233,7 +233,7 @@ impl<'conn> Statement<'conn> {
233233
///
234234
/// ```rust,no_run
235235
/// # use postgres::{Connection, SslMode};
236-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
236+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
237237
/// let stmt = conn.prepare("SELECT foo FROM bar WHERE baz = $1").unwrap();
238238
/// # let baz = true;
239239
/// for row in &stmt.query(&[&baz]).unwrap() {
@@ -303,7 +303,7 @@ impl<'conn> Statement<'conn> {
303303
///
304304
/// ```rust,no_run
305305
/// # use postgres::{Connection, SslMode};
306-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
306+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
307307
/// conn.batch_execute("CREATE TABLE people (id INT PRIMARY KEY, name VARCHAR)").unwrap();
308308
/// let stmt = conn.prepare("COPY people FROM STDIN").unwrap();
309309
/// stmt.copy_in(&[], &mut "1\tjohn\n2\tjane\n".as_bytes()).unwrap();
@@ -395,7 +395,7 @@ impl<'conn> Statement<'conn> {
395395
///
396396
/// ```rust,no_run
397397
/// # use postgres::{Connection, SslMode};
398-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
398+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
399399
/// conn.batch_execute("
400400
/// CREATE TABLE people (id INT PRIMARY KEY, name VARCHAR);
401401
/// INSERT INTO people (id, name) VALUES (1, 'john'), (2, 'jane');").unwrap();

src/types/slice.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use types::{Type, ToSql, Kind, IsNull, SessionInfo, downcast};
1717
/// # use postgres::{Connection, SslMode};
1818
/// use postgres::types::Slice;
1919
///
20-
/// # let conn = Connection::connect("", &SslMode::None).unwrap();
20+
/// # let conn = Connection::connect("", SslMode::None).unwrap();
2121
/// let values = &[1i32, 2, 3, 4, 5, 6];
2222
/// let stmt = conn.prepare("SELECT * FROM foo WHERE id = ANY($1)").unwrap();
2323
/// for row in &stmt.query(&[&Slice(values)]).unwrap() {

0 commit comments

Comments
 (0)