index : license-api-rs.git

ascending towards madness

author holly sparkles <sparkles@holly.sh> 2023-10-10 18:05:03.0 +00:00:00
committer holly sparkles <sparkles@holly.sh> 2023-10-10 18:05:03.0 +00:00:00
commit
66c96dd25cdbb61c27626b4c52ec67cccb2a079f [patch]
tree
96c57170debbb1e5e49626482b35a2479ca766a8
parent
591bba449cc941b447c8a24710a0cce92e98efae
download
66c96dd25cdbb61c27626b4c52ec67cccb2a079f.tar.gz

feat: add welcome message response



Diff

 src/main.rs | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index c1d66c9..8f99c2a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -54,7 +54,6 @@ fn create_routes(server: &mut Server<RunningConfig>) {
    BASE_URL/list/
    BASE_URL/full/
    */
    base_route.at(":license").get(get_requested_license);
    base_route.at("list").get(get_license_list);
    base_route.at("list/full").get(get_detailed_license_list);

@@ -81,9 +80,21 @@ fn build_response(status: StatusCode, data: String) -> Response {
}

async fn get_welcome_message(req: tide::Request<RunningConfig>) -> tide::Result<Response> {
	// TODO: make this better
    let base_url = req.state().config.base_url.as_str();
    let header = String::from("Available endpoints:");
    let base = format!("{}", base_url);
    let list = format!("{}list", base_url);
    let all = format!("{}list/full", base_url);
    let license = format!("{}<license>", base_url);

    Ok(build_response(
        StatusCode::Ok,
        format!("{}", "Welcome message goes here").to_string(),
        format!(
            "{}\n  {}\n  {}\n  {}\n  {}",
            header, base, list, all, license
        )
        .to_string(),
    ))
}

@@ -117,6 +128,7 @@ async fn get_requested_license(req: tide::Request<RunningConfig>) -> tide::Resul
    // TODO: make this better
    let request = req.url().path().strip_prefix("/").unwrap_or("");

	// TODO: break this up
    let response = match req.state().database.get_license(request) {
        Some(license) => {
            // is there a better way to do this?