flep 0.2.0

File transfer protocol (FTP) library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use {Error, protocol};
use server::client::{Action, ClientState};

/// Handle the 'CDUP' command.
pub fn handle(client: &mut ClientState) -> Result<Action, Error> {
    let mut session = client.session.expect_ready_mut()?;

    match session.working_dir.parent().map(ToOwned::to_owned) {
        Some(parent) => {
            session.working_dir = parent;
            Ok(Action::Reply(protocol::reply::cdup::success()))
        },
        None => Ok(Action::Reply(protocol::reply::cdup::no_parent()))
    }
}