legion_prof_viewer 0.8.0

Profiler UI frontend component for Legion Prof
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use reqwest::blocking::RequestBuilder;

use crate::http::fetch::DataSourceResponse;

pub fn fetch(
    request: RequestBuilder,
    on_done: Box<dyn FnOnce(Result<DataSourceResponse, String>) + Send>,
) {
    rayon::spawn(move || {
        let response = request
            .send()
            .map_err(|e| format!("request failed: {e}"))
            .and_then(|r| r.bytes().map_err(|e| format!("unable to get bytes: {e}")))
            .map(|r| DataSourceResponse { body: r });

        on_done(response)
    });
}