MarginaliaSearch/code/common
Viktor Lofgren 072b5fcd12 Implement Warc-recording wrapper for OkHttp3 client
This is a first step of using WARC as an intermediate flight recorder style step in the crawler, ultimately aimed at being able to resume crawls if the crawler is restarted.  This component is currently not hooked into anything.

The OkHttp3 client wrapper class 'WarcRecordingFetcherClient' was implemented for web archiving. This allows for the recording of HTTP requests and responses. New classes were introduced, 'WarcDigestBuilder', 'IpInterceptingNetworkInterceptor', and 'WarcProtocolReconstructor'.

The JWarc dependency was added to the build.gradle file, and relevant unit tests were also introduced. Some HttpFetcher-adjacent structural changes were also done for better organization.
2023-12-08 13:49:16 +01:00
..
config Initial Commit Anchor Tags 2023-11-04 14:24:17 +01:00
db (db) Fix migrations, bump flyway to 10.0.1 2023-11-21 20:04:35 +01:00
linkdb (*) WIP Control GUI redesign, executor-service, multi-node mq 2023-10-14 12:08:43 +02:00
model Implement Warc-recording wrapper for OkHttp3 client 2023-12-08 13:49:16 +01:00
process (*) WIP Add node affinity to EC_DOMAIN 2023-10-19 17:48:34 +02:00
renderer (search) Fix script loading for mobile support 2023-12-02 17:06:40 +01:00
service (mqapi/control) Repair repartition endpoint, deprecate notify endpoints. 2023-11-27 16:01:12 +01:00
service-client (search) Refactor search parameters to include query 2023-12-02 17:06:40 +01:00
service-discovery (mqapi/control) Repair repartition endpoint, deprecate notify endpoints. 2023-11-27 16:01:12 +01:00
readme.md Update readme.md 2023-03-25 15:27:11 +01:00

Common

These are packages containing the basic building blocks for running a service as well as shared models.

  • db contains SQL code and some database-related utilities.
  • config contains some @Injectables.
  • renderer contains utility code for rendering website templates.
  • service is the shared base classes for main methods and web services.
  • service-client is the shared base class for RPC.
  • service-discovery contains tools that lets the services find each other.
  • process contains boiler plate for batch processes.