Don't reuse cache struct
Also we avoid converting from String into Cow<'a, str>'
This commit is contained in:
parent
d609f9bf43
commit
ac8ba338bb
12
src/main.rs
12
src/main.rs
@ -17,7 +17,7 @@ mod service;
|
|||||||
mod statics;
|
mod statics;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
cache::{Cache, CacheState},
|
cache::CacheState,
|
||||||
error::{Error, Result},
|
error::{Error, Result},
|
||||||
service::{Bitbucket, FormService, GitHub, Gitlab, Service},
|
service::{Bitbucket, FormService, GitHub, Gitlab, Service},
|
||||||
statics::{CLIENT, CSS, FAVICON, OPT, REPO_COUNT, VERSION_INFO},
|
statics::{CLIENT, CSS, FAVICON, OPT, REPO_COUNT, VERSION_INFO},
|
||||||
@ -56,6 +56,12 @@ struct State {
|
|||||||
cache: String,
|
cache: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize)]
|
||||||
|
struct JsonResponse<'a> {
|
||||||
|
head: &'a str,
|
||||||
|
count: u64,
|
||||||
|
}
|
||||||
|
|
||||||
fn pull(path: impl AsRef<Path>) -> Result<()> {
|
fn pull(path: impl AsRef<Path>) -> Result<()> {
|
||||||
let repo = Repository::open_bare(path)?;
|
let repo = Repository::open_bare(path)?;
|
||||||
let mut origin = repo.find_remote("origin")?;
|
let mut origin = repo.find_remote("origin")?;
|
||||||
@ -193,8 +199,8 @@ fn json_hoc<T: Service>(
|
|||||||
) -> impl Future<Item = HttpResponse, Error = Error> {
|
) -> impl Future<Item = HttpResponse, Error = Error> {
|
||||||
let mapper = |r| match r {
|
let mapper = |r| match r {
|
||||||
HocResult::NotFound => p404(),
|
HocResult::NotFound => p404(),
|
||||||
HocResult::Hoc { hoc, head, .. } => Ok(HttpResponse::Ok().json(Cache {
|
HocResult::Hoc { hoc, head, .. } => Ok(HttpResponse::Ok().json(JsonResponse {
|
||||||
head: head.into(),
|
head: &head,
|
||||||
count: hoc,
|
count: hoc,
|
||||||
})),
|
})),
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user