Added init script. Cleaned up imports
This commit is contained in:
10
src/cgi.rs
10
src/cgi.rs
@@ -1,19 +1,16 @@
|
||||
use std::collections::HashMap;
|
||||
use std::io::{self, BufReader};
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::io;
|
||||
use std::path::{PathBuf};
|
||||
use std::process::Command;
|
||||
use std::os::unix::fs::PermissionsExt;
|
||||
use tokio::net::TcpStream;
|
||||
use tokio_openssl::SslStream;
|
||||
use url::Url;
|
||||
|
||||
use crate::config;
|
||||
use crate::status::Status;
|
||||
use crate::conn;
|
||||
use crate::logger;
|
||||
|
||||
pub async fn cgi(mut con: conn::Connection, path: PathBuf, url: Url) -> Result<(), io::Error> {
|
||||
let mut envs = HashMap::new();
|
||||
envs.insert("GATEWAY_INTERFACE", "CGI/1.1");
|
||||
envs.insert("GEMINI_URL", url.as_str());
|
||||
envs.insert("SERVER_NAME", url.host_str().unwrap());
|
||||
envs.insert("SCRIPT_NAME", path.file_name().unwrap().to_str().unwrap());
|
||||
@@ -23,6 +20,7 @@ pub async fn cgi(mut con: conn::Connection, path: PathBuf, url: Url) -> Result<(
|
||||
envs.insert("REMOTE_HOST", &addr);
|
||||
let port = con.peer_addr.port().to_string();
|
||||
envs.insert("REMOTE_PORT", &port);
|
||||
envs.insert("SERVER_SOFTWARE", env!("CARGO_PKG_NAME"));
|
||||
|
||||
if let Some(q) = url.query() {
|
||||
envs.insert("QUERY_STRING", q);
|
||||
|
||||
@@ -2,7 +2,6 @@ extern crate serde_derive;
|
||||
extern crate toml;
|
||||
use std::collections::HashMap;
|
||||
use toml::de::Error;
|
||||
use std::io;
|
||||
use std::path::Path;
|
||||
|
||||
#[derive(Debug, Deserialize, Clone)]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
use std::net::SocketAddr;
|
||||
use log::{info, warn};
|
||||
use crate::conn;
|
||||
use crate::status;
|
||||
|
||||
pub fn logger(addr: SocketAddr, stat: status::Status, req: &str) {
|
||||
|
||||
12
src/main.rs
12
src/main.rs
@@ -1,34 +1,22 @@
|
||||
#![allow(unused_imports)]
|
||||
#![allow(dead_code)]
|
||||
#[macro_use]
|
||||
extern crate serde_derive;
|
||||
|
||||
use futures_util::future::TryFutureExt;
|
||||
use std::collections::HashMap;
|
||||
use std::error::Error;
|
||||
use std::fs;
|
||||
use std::fs::File;
|
||||
use std::io::{self, BufReader, BufRead};
|
||||
use std::io::prelude::*;
|
||||
use std::net::SocketAddr;
|
||||
use std::net::ToSocketAddrs;
|
||||
use std::os::unix::fs::PermissionsExt;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::process::Command;
|
||||
use std::sync::Arc;
|
||||
use std::env;
|
||||
use tokio::io::AsyncWriteExt;
|
||||
use tokio::net::TcpListener;
|
||||
use tokio::net::TcpStream;
|
||||
use tokio::prelude::*;
|
||||
use tokio::runtime;
|
||||
use tokio_openssl::SslStream;
|
||||
use openssl::ssl::NameType;
|
||||
use url::Url;
|
||||
use chrono::{DateTime, Utc};
|
||||
use mime_guess;
|
||||
use mime;
|
||||
use log::{info, warn};
|
||||
|
||||
mod cgi;
|
||||
mod config;
|
||||
|
||||
@@ -1,14 +1,8 @@
|
||||
use futures_util::future;
|
||||
use std::fs::File;
|
||||
use std::io;
|
||||
use std::io::Read;
|
||||
use std::io::BufReader;
|
||||
use std::net::ToSocketAddrs;
|
||||
use std::sync::Arc;
|
||||
use tokio::io::{copy, split, AsyncReadExt, AsyncWriteExt};
|
||||
use tokio::io::{AsyncReadExt, AsyncWriteExt};
|
||||
use tokio::net::TcpStream;
|
||||
use openssl::ssl::{SslConnector, SslMethod};
|
||||
use url::Url;
|
||||
|
||||
use crate::conn;
|
||||
use crate::status::Status;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
use std::fmt;
|
||||
|
||||
#[allow(dead_code)]
|
||||
#[repr(u8)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub enum Status {
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
extern crate openssl;
|
||||
extern crate tokio_openssl;
|
||||
use std::collections::HashMap;
|
||||
use std::fs::File;
|
||||
use std::io::{self, BufReader};
|
||||
use std::sync::Arc;
|
||||
|
||||
use openssl::ssl::{SslAcceptor, SslFiletype, SslMethod};
|
||||
use openssl::ssl::SslAcceptorBuilder;
|
||||
use openssl::ssl::SniError;
|
||||
use openssl::error::ErrorStack;
|
||||
use openssl::ssl::SslContextBuilder;
|
||||
use openssl::ssl::SslVersion;
|
||||
use openssl::ssl::NameType;
|
||||
use tokio_openssl::SslStream;
|
||||
|
||||
use crate::config;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user