1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
//! Fastcgi client implemented for Rust. //! //!  //! //! ### Example //! ``` //! use fastcgi_client::{Address, ClientBuilder, Params}; //! use std::{env, io}; //! //! let script_filename = env::current_dir() //! .unwrap() //! .join("tests") //! .join("php") //! .join("index.php"); //! let script_filename = script_filename.to_str().unwrap(); //! let script_name = "/index.php"; //! //! // Connect to php-fpm default listening address. //! let mut client = ClientBuilder::new(Address::Tcp("127.0.0.1", 9000)).build().unwrap(); //! //! // Fastcgi params, please reference to nginx-php-fpm config. //! let params = Params::with_predefine() //! .set_request_method("GET") //! .set_script_name(script_name) //! .set_script_filename(script_filename) //! .set_request_uri(script_name) //! .set_document_uri(script_name) //! .set_remote_addr("127.0.0.1") //! .set_remote_port("12345") //! .set_server_addr("127.0.0.1") //! .set_server_port("80") //! .set_server_name("jmjoy-pc") //! .set_content_type("") //! .set_content_length("0"); //! //! // Fetch fastcgi server(php-fpm) response. //! let output = client.do_request(¶ms, &mut io::empty()).unwrap(); //! //! assert_eq!( //! output.get_stdout().unwrap(), //! "Content-type: text/html; charset=UTF-8\r\n\r\nhello".as_bytes() //! ); //! assert_eq!(output.get_stderr(), None); //! ``` //! mod client; mod error; mod id; mod meta; mod params; pub use crate::client::{Client, ClientBuilder}; pub use crate::error::{ClientError, ClientResult}; pub use crate::meta::Address; pub use crate::params::Params;