@@ -20,7 +20,8 @@ namespace SmartImage.Lib.Engines.Search;
2020
2121public sealed class RepostSleuthEngine : BaseSearchEngine , IDisposable
2222{
23- private const string URL_API = "https://api.repostsleuth.com/image" ;
23+
24+ private const string URL_API = "https://api.repostsleuth.com/api/image" ;
2425 private const string URL_QUERY = "https://repostsleuth.com/search?url=" ;
2526
2627 public Url Endpoint => URL_API ;
@@ -41,7 +42,7 @@ public RepostSleuthEngine() : base(URL_QUERY)
4142
4243 public override void Dispose ( ) { }
4344
44-
45+
4546 public override async Task < SearchResult > GetResultAsync ( SearchQuery query , CancellationToken token = default )
4647 {
4748 var sr = await base . GetResultAsync ( query , token ) ;
@@ -51,24 +52,17 @@ public override async Task<SearchResult> GetResultAsync(SearchQuery query, Cance
5152 try {
5253 using var response = await Client . Request ( Endpoint )
5354 . WithTimeout ( Timeout )
54- . SetQueryParams ( new
55+ . PostMultipartAsync ( buildContent : content =>
5556 {
56- filter = true ,
57- url = query . Upload ,
58- same_sub = false ,
59- filter_author = true ,
60- only_older = false ,
61- include_crossposts = false ,
62- meme_filter = false ,
63- target_match_percent = 90 ,
64- filter_dead_matches = false ,
65- target_days_old = 0
66- } ) . GetAsync ( cancellationToken : token ) . ConfigureAwait ( false ) ;
57+ var stream = query . Source . GetStream ( ) ;
58+ content . AddFile ( "image" , stream , query . Source . Name ) ;
59+ } , cancellationToken : token ) ;
6760
6861 if ( response . StatusCode == 530 ) {
6962 goto ret ;
7063 }
71- var s = await response . GetStreamAsync ( ) . ConfigureAwait ( false ) ;
64+
65+ var s = await response . GetStringAsync ( ) . ConfigureAwait ( false ) ;
7266 obj = JsonSerializer . Deserialize < RepostSleuthResult > ( s , JsOptions ) ;
7367 }
7468 catch ( JsonException e ) {
0 commit comments