@@ -92,38 +92,46 @@ func (c *requestHistoryController) GetRequestHistoryByURI(ctx context.Context, r
9292 op := metrics .Begin (c .metricsScope , "get_by_uri" , metrics .StorageLatencyBuckets , metrics .TagsFromContext (ctx )... )
9393 defer func () { op .Complete (retErr ) }()
9494
95+ history , retErr := c .readHistoryByURI (ctx , req )
96+ if retErr != nil {
97+ return nil , retErr
98+ }
99+ c .logger .Debugw ("request history retrieved by URI" ,
100+ "uri" , req .URI ,
101+ "request_id" , history .RequestID ,
102+ "queue" , req .Queue ,
103+ "event_count" , len (history .Events ),
104+ )
105+ return []entity.RequestHistory {history }, nil
106+ }
107+
108+ func (c * requestHistoryController ) readHistoryByURI (ctx context.Context , req entity.GetRequestHistoryByURIRequest ) (entity.RequestHistory , error ) {
95109 if err := validateHistoryIdentifier ("queue" , req .Queue ); err != nil {
96- return nil , fmt .Errorf ("GetRequestHistoryByURI invalid queue: %w" , err )
110+ return entity. RequestHistory {} , fmt .Errorf ("GetRequestHistoryByURI invalid queue: %w" , err )
97111 }
98112 if err := validateHistoryIdentifier ("URI" , req .URI ); err != nil {
99- return nil , fmt .Errorf ("GetRequestHistoryByURI invalid request: %w" , err )
113+ return entity. RequestHistory {} , fmt .Errorf ("GetRequestHistoryByURI invalid request: %w" , err )
100114 }
101115
102116 stores , err := c .stores .For (storage.Config {QueueName : req .Queue })
103117 if err != nil {
104- return nil , fmt .Errorf ("GetRequestHistoryByURI failed to resolve storage for queue %q: %w" , req .Queue , err )
118+ return entity. RequestHistory {} , fmt .Errorf ("GetRequestHistoryByURI failed to resolve storage for queue %q: %w" , req .Queue , err )
105119 }
106120
107121 requestID , err := stores .GetRequestURIStore ().GetIDByURI (ctx , req .URI )
108122 if err != nil {
109123 if storage .IsNotFound (err ) {
110- return nil , errs .NewUserError (& RequestHistoryNotFoundError {URI : req .URI })
124+ return entity. RequestHistory {} , errs .NewUserError (& RequestHistoryNotFoundError {URI : req .URI })
111125 }
112- return nil , fmt .Errorf ("GetRequestHistoryByURI failed to resolve request URI %s: %w" , req .URI , err )
126+ return entity. RequestHistory {} , fmt .Errorf ("GetRequestHistoryByURI failed to resolve request URI %s: %w" , req .URI , err )
113127 }
114128
115129 logs , err := loadRequestLogs (ctx , stores .GetRequestLogStore (), requestID , & RequestHistoryNotFoundError {URI : req .URI })
116130 if err != nil {
117- return nil , fmt .Errorf ("GetRequestHistoryByURI failed to list request logs uri=%s request_id=%s: %w" , req .URI , requestID , err )
131+ return entity. RequestHistory {} , fmt .Errorf ("GetRequestHistoryByURI failed to list request logs uri=%s request_id=%s: %w" , req .URI , requestID , err )
118132 }
119133
120- c .logger .Debugw ("request history retrieved by URI" ,
121- "uri" , req .URI ,
122- "request_id" , requestID ,
123- "queue" , req .Queue ,
124- "event_count" , len (logs ),
125- )
126- return []entity.RequestHistory {{RequestID : requestID , Events : logs }}, nil
134+ return entity.RequestHistory {RequestID : requestID , Events : logs }, nil
127135}
128136
129137func loadRequestLogs (ctx context.Context , store storage.RequestLogStore , requestID string , notFound * RequestHistoryNotFoundError ) ([]entity.RequestLog , error ) {
0 commit comments