chore(web/atward): remove sourcegraph support

We're moving away from sourcegraph to livegrep and so on, as Sourcegraph has
gone fully proprietary.

This removes support for redirecting to Sourcegraph.

Relates to b/290

Change-Id: I04ccf8dfef72113cd49d444151cb0c3eb834845d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12268
Reviewed-by: Profpatsch <mail@profpatsch.de>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2024-08-23 12:33:22 +03:00 committed by tazjin
parent 8f6f45097e
commit 8041ce7cbd
3 changed files with 5 additions and 173 deletions

View file

@ -5,7 +5,6 @@
//! browsers and attempts to send users to useful locations based on
//! their search query (falling back to another search engine).
use regex::Regex;
use rouille::input::cookies;
use rouille::{Request, Response};
#[cfg(test)]
@ -31,43 +30,14 @@ struct Handler {
struct Query {
/// Query string itself.
query: String,
/// Should Sourcegraph be used instead of cgit?
cs: bool,
}
/// Helper function for setting a parameter based on a query
/// parameter.
fn query_setting(req: &Request, config: &mut bool, param: &str) {
match req.get_param(param) {
Some(s) if s == "true" => *config = true,
Some(s) if s == "false" => *config = false,
_ => {}
}
}
impl Query {
fn from_request(req: &Request) -> Option<Query> {
// First extract the actual search query ...
let mut query = match req.get_param("q") {
Some(query) => Query { query, cs: false },
match req.get_param("q") {
Some(query) => Some(Query { query }),
None => return None,
};
// ... then apply settings to it. Settings in query parameters
// take precedence over cookies.
for cookie in cookies(req) {
match cookie {
("cs", "true") => {
query.cs = true;
}
_ => {}
}
}
query_setting(req, &mut query.cs, "cs");
Some(query)
}
}
@ -76,7 +46,6 @@ impl From<&str> for Query {
fn from(query: &str) -> Query {
Query {
query: query.to_string(),
cs: false,
}
}
}
@ -90,10 +59,6 @@ fn cgit_url(path: &str) -> String {
}
}
/// Create a URL to a path in Sourcegraph.
fn sourcegraph_path_url(path: &str) -> String {
format!("https://cs.tvl.fyi/depot/-/tree/{}", path)
}
/// Definition of all supported query handlers in atward.
fn handlers() -> Vec<Handler> {
vec![
@ -126,16 +91,11 @@ fn handlers() -> Vec<Handler> {
// TODO(tazjin): Add support for specifying lines in a query parameter
Handler {
pattern: Regex::new("^//(?P<path>[a-zA-Z].*)?$").unwrap(),
target: |query, captures| {
target: |_, captures| {
// Pass an empty string if the path is missing, to
// redirect to the depot root.
let path = captures.name("path").map(|m| m.as_str()).unwrap_or("");
if query.cs {
Some(sourcegraph_path_url(path))
} else {
Some(cgit_url(path))
}
Some(cgit_url(path))
},
},
]