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 57 58
// Copyright 2017 `multipart-async` Crate Developers // // Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or // http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. //! Client- and server-side abstractions for HTTP `multipart/form-data` requests using asynchronous //! I/O. //! //! Features: //! //! * `client` (default): Enable the client-side abstractions for multipart requests. If the //! `hyper` feature is also set, enables integration with the Hyper HTTP client API. //! //! * `server` (default): Enable the server-side abstractions for multipart requests. If the //! `hyper` feature is also set, enables integration with the Hyper HTTP server API. //! //! * `hyper` (default): Enable integration with the [Hyper](https://github.com/hyperium/hyper) HTTP library //! for client and/or server depending on which other feature flags are set. #![deny(missing_docs)] #[macro_use] extern crate log; extern crate env_logger; extern crate display_bytes; #[macro_use] extern crate futures; extern crate mime_guess; extern crate rand; extern crate tempdir; #[cfg(feature = "hyper")] extern crate hyper; pub extern crate mime; use rand::Rng; use std::rc::Rc; use std::sync::Arc; // FIXME: after server prototype is working //#[cfg(feature = "client")] //pub mod client; #[cfg(feature = "server")] pub mod server; mod helpers; /*#[cfg(all(test, feature = "client", feature = "server"))] mod local_test; */ fn random_alphanumeric(len: usize) -> String { rand::thread_rng().gen_ascii_chars().take(len).collect() }