Files
query-orchestration/internal/document/clean/content.go
T
Michael McGuinness 81e7223560 Merged in feature/textextraction (pull request #110)
Text Extraction

* bases

* go

* splitting

* structure

* movetoasync

* movetoasync

* settinguptrigger

* reorder

* storevent

* standardisepollingvalidation

* unittests

* fixlint

* fixlint

* awscfg

* generatesample

* followthrough

* tests

* clena

* store

* externalidcleanup

* clientid

* local

* baseunittests

* putobjecttests

* tests
2025-04-02 18:50:03 +00:00

41 lines
883 B
Go

package documentclean
import (
"context"
"errors"
documenttypes "queryorchestration/internal/document/types"
"github.com/aws/aws-sdk-go-v2/service/s3"
)
type Content interface {
IsCorrupt(context.Context) *documenttypes.InvalidDocumentReason
}
func (s *Service) getContent(ctx context.Context, params *CleanParams, mimeType documenttypes.MimeType) (Content, error) {
resp, err := s.cfg.GetStoreClient().GetObject(ctx, &s3.GetObjectInput{
Bucket: &params.Location.Bucket,
Key: &params.Location.Key,
IfMatch: &params.Hash,
})
if err != nil {
return nil, err
}
defer resp.Body.Close()
var content Content
switch mimeType {
case documenttypes.MimeTypePDF:
pdf, err := documenttypes.NewPDFFromReadCloser(resp.Body)
if err != nil {
return nil, err
}
content = pdf
default:
return nil, errors.New("invalid mimetype")
}
return content, nil
}