fn request_init_for_swoole()

in src/request.rs [195:219]


fn request_init_for_swoole(request: &mut ZVal) -> crate::Result<()> {
    let request = request.as_z_obj().context("swoole request isn't object")?;

    let fd = request
        .get_property("fd")
        .as_long()
        .context("swoole request fd not exists")?;

    let headers = request
        .get_property("header")
        .as_z_arr()
        .context("swoole request header not exists")?;

    let header = get_swoole_request_header(headers);

    let server = request
        .get_property("server")
        .as_z_arr()
        .context("swoole request server not exists")?;

    let method = get_swoole_request_method(server);
    let url = get_swoole_request_url(server, headers)?;

    create_request_context(Some(fd), header.as_deref(), &method, &url)
}