upgrade deps; rewrite smtp session

This commit is contained in:
Aine
2024-02-19 22:55:14 +02:00
parent 10213cc7d7
commit a01720da00
277 changed files with 106832 additions and 7641 deletions

View File

@@ -85,11 +85,22 @@ var (
// DetectBest returns the Result with highest Confidence.
func (d *Detector) DetectBest(b []byte) (r *Result, err error) {
var all []Result
if all, err = d.DetectAll(b); err == nil {
r = &all[0]
input := newRecognizerInput(b, d.stripTag)
outputChan := make(chan recognizerOutput)
for _, r := range d.recognizers {
go matchHelper(r, input, outputChan)
}
return
var output Result
for i := 0; i < len(d.recognizers); i++ {
o := <-outputChan
if output.Confidence < o.Confidence {
output = Result(o)
}
}
if output.Confidence == 0 {
return nil, NotDetectedError
}
return &output, nil
}
// DetectAll returns all Results which have non-zero Confidence. The Results are sorted by Confidence in descending order.
@@ -99,7 +110,7 @@ func (d *Detector) DetectAll(b []byte) ([]Result, error) {
for _, r := range d.recognizers {
go matchHelper(r, input, outputChan)
}
outputs := make([]recognizerOutput, 0, len(d.recognizers))
outputs := make(recognizerOutputs, 0, len(d.recognizers))
for i := 0; i < len(d.recognizers); i++ {
o := <-outputChan
if o.Confidence > 0 {
@@ -110,7 +121,7 @@ func (d *Detector) DetectAll(b []byte) ([]Result, error) {
return nil, NotDetectedError
}
sort.Sort(recognizerOutputs(outputs))
sort.Sort(outputs)
dedupOutputs := make([]Result, 0, len(outputs))
foundCharsets := make(map[string]struct{}, len(outputs))
for _, o := range outputs {