@@ -24,7 +24,7 @@ import (
2424)
2525
2626type ExternalFileOperator struct {
27- fms * FileManagerService
27+ fileManagerService * FileManagerService
2828}
2929
3030const (
@@ -35,7 +35,7 @@ const (
3535)
3636
3737func NewExternalFileOperator (fms * FileManagerService ) * ExternalFileOperator {
38- return & ExternalFileOperator {fms : fms }
38+ return & ExternalFileOperator {fileManagerService : fms }
3939}
4040
4141func (efo * ExternalFileOperator ) DownloadExternalFile (ctx context.Context , fileAction * model.FileCache ,
@@ -69,7 +69,7 @@ func (efo *ExternalFileOperator) DownloadExternalFile(ctx context.Context, fileA
6969 // persist headers if present
7070 if headers .ETag != "" || headers .LastModified != "" {
7171 fileName := fileAction .File .GetFileMeta ().GetName ()
72- efo .fms .externalFileHeaders [fileName ] = headers
72+ efo .fileManagerService .externalFileHeaders [fileName ] = headers
7373 }
7474
7575 return nil
@@ -82,9 +82,9 @@ func (efo *ExternalFileOperator) DownloadExternalFile(ctx context.Context, fileA
8282 return fmt .Errorf ("downloaded file validation failed for %s: %w" , fileName , err )
8383 }
8484
85- efo .fms .externalFileHeaders [fileName ] = headers
85+ efo .fileManagerService .externalFileHeaders [fileName ] = headers
8686
87- writeErr := efo .fms .fileOperator .Write (
87+ writeErr := efo .fileManagerService .fileOperator .Write (
8888 ctx ,
8989 contentToWrite ,
9090 filePath ,
@@ -104,22 +104,22 @@ func (efo *ExternalFileOperator) downloadFileContent(ctx context.Context, file *
104104) {
105105 fileName := file .GetFileMeta ().GetName ()
106106 downloadURL := file .GetExternalDataSource ().GetLocation ()
107- externalConfig := efo .fms .agentConfig .ExternalDataSource
107+ externalConfig := efo .fileManagerService .agentConfig .ExternalDataSource
108108
109109 if ! efo .isDomainAllowed (downloadURL , externalConfig .AllowedDomains ) {
110110 return nil , DownloadHeader {}, fmt .Errorf ("download URL %s is not in the allowed domains list" , downloadURL )
111111 }
112112
113- u , err := url .Parse (downloadURL )
113+ pasrsedURl , err := url .Parse (downloadURL )
114114 if err != nil {
115115 return nil , DownloadHeader {}, fmt .Errorf ("failed to parse URL: %w" , err )
116116 }
117117
118- originalScheme := u .Scheme
118+ originalScheme := pasrsedURl .Scheme
119119 if originalScheme != httpScheme && originalScheme != httpsScheme {
120- u .Scheme = httpsScheme
120+ pasrsedURl .Scheme = httpsScheme
121121 }
122- networkURL := u .String ()
122+ networkURL := pasrsedURl .String ()
123123
124124 httpClient , err := efo .setupHTTPClient (ctx , externalConfig .ProxyURL .URL )
125125 if err != nil {
@@ -154,22 +154,22 @@ func (efo *ExternalFileOperator) downloadFileContent(ctx context.Context, file *
154154 case http .StatusNotModified :
155155 slog .DebugContext (ctx , "File content unchanged (304 Not Modified)" , "file_name" , fileName )
156156 // return empty content but preserve headers if present
157- h := DownloadHeader {
157+ header := DownloadHeader {
158158 ETag : resp .Header .Get ("ETag" ),
159159 LastModified : resp .Header .Get ("Last-Modified" ),
160160 }
161161
162- return nil , h , nil
162+ return nil , header , nil
163163 default :
164164 const maxErrBody = 4096
165165 var bodyMsg string
166166
167167 limited := io .LimitReader (resp .Body , maxErrBody )
168- b , readErr := io .ReadAll (limited )
168+ body , readErr := io .ReadAll (limited )
169169 if readErr != nil {
170170 slog .DebugContext (ctx , "Failed to read error response body" , "error" , readErr , "status" , resp .StatusCode )
171171 } else {
172- bodyMsg = strings .TrimSpace (string (b ))
172+ bodyMsg = strings .TrimSpace (string (body ))
173173 }
174174
175175 if bodyMsg != "" {
@@ -181,8 +181,8 @@ func (efo *ExternalFileOperator) downloadFileContent(ctx context.Context, file *
181181 }
182182
183183 reader := io .Reader (resp .Body )
184- if efo .fms .agentConfig .ExternalDataSource .MaxBytes > 0 {
185- reader = io .LimitReader (resp .Body , efo .fms .agentConfig .ExternalDataSource .MaxBytes )
184+ if efo .fileManagerService .agentConfig .ExternalDataSource .MaxBytes > 0 {
185+ reader = io .LimitReader (resp .Body , efo .fileManagerService .agentConfig .ExternalDataSource .MaxBytes )
186186 }
187187
188188 content , err = io .ReadAll (reader )
@@ -196,13 +196,13 @@ func (efo *ExternalFileOperator) downloadFileContent(ctx context.Context, file *
196196}
197197
198198func (efo * ExternalFileOperator ) isDomainAllowed (downloadURL string , allowedDomains []string ) bool {
199- u , err := url .Parse (downloadURL )
199+ parsedURL , err := url .Parse (downloadURL )
200200 if err != nil {
201201 slog .Debug ("Failed to parse download URL for domain check" , "url" , downloadURL , "error" , err )
202202 return false
203203 }
204204
205- hostname := u .Hostname ()
205+ hostname := parsedURL .Hostname ()
206206 if hostname == "" {
207207 return false
208208 }
@@ -241,7 +241,7 @@ func (efo *ExternalFileOperator) setupHTTPClient(ctx context.Context, proxyURLSt
241241
242242 httpClient := & http.Client {
243243 Transport : transport ,
244- Timeout : efo .fms .agentConfig .Client .FileDownloadTimeout ,
244+ Timeout : efo .fileManagerService .agentConfig .Client .FileDownloadTimeout ,
245245 }
246246
247247 return httpClient , nil
@@ -250,7 +250,7 @@ func (efo *ExternalFileOperator) setupHTTPClient(ctx context.Context, proxyURLSt
250250func (efo * ExternalFileOperator ) addConditionalHeaders (ctx context.Context , req * http.Request , fileName string ) {
251251 slog .DebugContext (ctx , "Proxy configured; adding headers to GET request." )
252252
253- manifestFiles , _ , manifestFileErr := efo .fms .manifestFile ()
253+ manifestFiles , _ , manifestFileErr := efo .fileManagerService .manifestFile ()
254254
255255 if manifestFileErr != nil && ! errors .Is (manifestFileErr , os .ErrNotExist ) {
256256 slog .WarnContext (ctx , "Error reading manifest file for headers" , "error" , manifestFileErr )
@@ -299,12 +299,11 @@ func (efo *ExternalFileOperator) validateDownloadedFile(content []byte, fileName
299299 detected := mimetype .Detect (sniff ).String ()
300300 ext := strings .ToLower (filepath .Ext (fileName )) // includes leading dot or empty
301301
302- // extension <-> detected MIME compatibility
303302 if err := efo .checkExtCompatibility (ext , detected ); err != nil {
304303 return err
305304 }
306305
307- allowed := efo .fms .agentConfig .ExternalDataSource .AllowedFileTypes
306+ allowed := efo .fileManagerService .agentConfig .ExternalDataSource .AllowedFileTypes
308307 if len (allowed ) == 0 {
309308 return nil
310309 }
@@ -340,7 +339,7 @@ func (efo *ExternalFileOperator) checkExtCompatibility(ext, detected string) err
340339//
341340//nolint:revive // simple logic
342341func (efo * ExternalFileOperator ) allowedByConfig (detected , ext string ) bool {
343- for _ , t := range efo .fms .agentConfig .ExternalDataSource .AllowedFileTypes {
342+ for _ , t := range efo .fileManagerService .agentConfig .ExternalDataSource .AllowedFileTypes {
344343 tt := strings .ToLower (strings .TrimSpace (t ))
345344 if tt == "" {
346345 continue
0 commit comments