From e3fc65f264cc848fa24481bd18f2c055630df07f Mon Sep 17 00:00:00 2001 From: dstring Date: Sat, 5 Apr 2025 15:54:50 +0300 Subject: [PATCH 1/4] chore(console): change print to println for readability --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 42dcdfe..52561aa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -77,7 +77,7 @@ fn main() { request: ureq::Request, next: ureq::MiddlewareNext, ) -> Result { - print!("{}: {}", request.method(), request.url()); + println!("{}: {}", request.method(), request.url()); let response = next.handle(request); println!( " -> {:?}", From 0c6b51af05874cfd813a1ff5fbf5b90d9b01f024 Mon Sep 17 00:00:00 2001 From: dstring Date: Sat, 5 Apr 2025 16:00:44 +0300 Subject: [PATCH 2/4] fix(search): resolve 500 IO error when no results are found (#40) --- src/api/common.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/common.rs b/src/api/common.rs index 9d5aad1..e889e20 100644 --- a/src/api/common.rs +++ b/src/api/common.rs @@ -10,7 +10,7 @@ pub struct Articles { #[derive(Deserialize)] pub struct Pagination { - pub size: u32, + pub size: Option, pub total_size: Option, pub orderby: String, } From 897046420de7a763d9e4878096ece2c4da95504a Mon Sep 17 00:00:00 2001 From: dstring Date: Sat, 5 Apr 2025 16:08:08 +0300 Subject: [PATCH 3/4] fix(link): resolve 401 error when accessing specific URLs (#41) Temporary solution by simulating real user requests with custom headers to bypass captcha/datadome protection.\nWorks for local server testing, not effective long-term --- src/api/fetch.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/api/fetch.rs b/src/api/fetch.rs index b15a9c8..892623b 100644 --- a/src/api/fetch.rs +++ b/src/api/fetch.rs @@ -12,7 +12,14 @@ where (200..300).contains(&status) } - let response = client.get(url).query("query", query).call()?; + let response = client.get(url) + .set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36") + .set("Accept", "application/json, text/plain, */*") + .set("Accept-Language", "en-GB,en;q=0.9") + .set("Referer", "https://www.reuters.com/") + .set("Origin", "https://www.reuters.com") + .query("query", query) + .call()?; if !is_success(response.status()) { return Err(ApiError::External( From cc3dbdee98fd2ceea9198a16219a30aafa29ed0d Mon Sep 17 00:00:00 2001 From: dstring Date: Sat, 5 Apr 2025 16:58:38 +0300 Subject: [PATCH 4/4] fix(ci/cd): Fix deprecated workflow --- .github/workflows/build.yml | 12 ++++++------ .github/workflows/publish-docker.yml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6e9445d..850f430 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: docker://rust:alpine - name: Install musl-gcc run: sudo apt -y install musl-tools @@ -24,7 +24,7 @@ jobs: - name: Build Release run: cargo build --release --target x86_64-unknown-linux-musl --verbose - name: Upload a Build Artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: neuters-linux-musl path: target/x86_64-unknown-linux-musl/release/neuters @@ -34,11 +34,11 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: build run: cargo build --release --verbose - name: Upload a Build Artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: neuters-win path: target/release/neuters.exe @@ -48,11 +48,11 @@ jobs: runs-on: macos-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: build run: cargo build --release --verbose - name: Upload a Build Artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: neuters-mac path: target/release/neuters diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml index d876a0b..e6e6cd8 100644 --- a/.github/workflows/publish-docker.yml +++ b/.github/workflows/publish-docker.yml @@ -12,12 +12,12 @@ jobs: steps: - name: Login to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v6 with: push: true tags: hookedbehemoth/neuters:latest