Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 0 additions & 39 deletions internal/service/worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package service
import (
"bytes"
"context"
"encoding/base64"
"errors"
"fmt"
"io"
Expand Down Expand Up @@ -211,10 +210,6 @@ func (w *Worker) fetchFile(ctx context.Context, path string) (_ []byte, err erro
span, ctx := ddTracer.StartSpanFromContext(ctx, "Worker.fetchFile")
defer func() { span.Finish(ddTracer.WithError(err)) }()

if strings.HasPrefix(path, "dropbox/") {
return w.fetchFileFromDropbox(ctx, path)
}

var bucket, filePath string
switch {
case strings.HasPrefix(path, "s3://"):
Expand Down Expand Up @@ -263,40 +258,6 @@ func (w *Worker) fetchFile(ctx context.Context, path string) (_ []byte, err erro
return payload, nil
}

func (w *Worker) fetchFileFromDropbox(ctx context.Context, path string) (_ []byte, err error) {
span, ctx := ddTracer.StartSpanFromContext(ctx, "Worker.fetchFileFromDropbox")
defer func() { span.Finish(ddTracer.WithError(err)) }()

fileURL, err := base64.RawURLEncoding.DecodeString(strings.TrimPrefix(path, "dropbox/"))
if err != nil {
return nil, newClientError(fmt.Errorf("fail to decode base64 path: %w", err))
}

req, err := http.NewRequestWithContext(ctx, http.MethodGet, string(fileURL), nil)
if err != nil {
return nil, fmt.Errorf("fail to create the HTTP request: %w", err)
}

resp, err := w.HTTPClient.Do(req)
if err != nil {
return nil, fmt.Errorf("fail to download file: %w", err)
}
defer resp.Body.Close()

if resp.StatusCode == http.StatusNotFound {
return nil, newNotFoundError(errors.New("dropbox returned 404"))
} else if resp.StatusCode < 200 || resp.StatusCode >= 300 {
return nil, fmt.Errorf("invalid status code '%d'", resp.StatusCode)
}

payload, err := io.ReadAll(resp.Body)
if err != nil {
return nil, fmt.Errorf("fail to read the body response: %w", err)
}

return payload, nil
}

func (w *Worker) fetchFileFromInternet(ctx context.Context, uri string) (_ []byte, err error) {
span, ctx := ddTracer.StartSpanFromContext(ctx, "Worker.fetchFileFromInternet")
defer func() { span.Finish(ddTracer.WithError(err)) }()
Expand Down
6 changes: 0 additions & 6 deletions internal/transport/middleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,6 @@ func (m middleware) logger(next http.Handler) http.Handler {
if token := r.URL.Query().Get("token"); token != "" {
requestURI = strings.ReplaceAll(requestURI, token, "[REDACTED]")
}
if strings.HasPrefix(requestURI, "/documents/dropbox/") {
requestURI = "/documents/dropbox/[REDACTED]"
}

log, err := m.traceExtractor(r.Context(), m.log)
if err != nil {
Expand Down Expand Up @@ -135,9 +132,6 @@ func (m middleware) logger(next http.Handler) http.Handler {
func (m middleware) datadogTracer(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
path := r.URL.Path
if strings.HasPrefix(path, "/documents/dropbox/") {
path = "/documents/dropbox/[REDACTED]"
}

opts := []ddtrace.StartSpanOption{
tracer.SpanType(ext.SpanTypeWeb),
Expand Down
1 change: 0 additions & 1 deletion internal/transport/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,5 @@ func (s *Server) initHandler() {
s.router.MethodNotAllowed(h.methodNotAllowed)
s.router.NotFound(h.notFound)
s.router.Get("/health", h.health)
s.router.Get("/documents/dropbox/*", h.document)
s.router.Get("/documents/*", h.document)
}