Implement an API-first Go rewrite with local engine adapters, upstream fallback, and Nix-based tooling so searches can run without matching the original UI while preserving response compatibility. Made-with: Cursor
17 lines
441 B
Go
17 lines
441 B
Go
package engines
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/ashie/gosearch/internal/contracts"
|
|
)
|
|
|
|
// Engine is a Go-native implementation of a SearXNG engine.
|
|
//
|
|
// Implementations should return a SearchResponse containing only the results
|
|
// for that engine subset; the caller will merge multiple engine responses.
|
|
type Engine interface {
|
|
Name() string
|
|
Search(ctx context.Context, req contracts.SearchRequest) (contracts.SearchResponse, error)
|
|
}
|
|
|