@@ -494,76 +494,54 @@ func parseListErrorsRequest(r *http.Request) (*model.ListErrorsParams, error) {
494
494
var allowedOrderParams = []string {"exceptionType" , "exceptionCount" , "firstSeen" , "lastSeen" , "serviceName" }
495
495
var allowedOrderDirections = []string {"ascending" , "descending" }
496
496
497
- startTime , err := parseTime ("start" , r )
497
+ var postData * model.ListErrorsParams
498
+ err := json .NewDecoder (r .Body ).Decode (& postData )
499
+
498
500
if err != nil {
499
501
return nil , err
500
502
}
501
- endTime , err := parseTimeMinusBuffer ("end" , r )
503
+
504
+ postData .Start , err = parseTimeStr (postData .StartStr , "start" )
502
505
if err != nil {
503
506
return nil , err
504
507
}
505
-
506
- order := r .URL .Query ().Get ("order" )
507
- if len (order ) > 0 && ! DoesExistInSlice (order , allowedOrderDirections ) {
508
- return nil , errors .New (fmt .Sprintf ("given order: %s is not allowed in query" , order ))
509
- }
510
- orderParam := r .URL .Query ().Get ("orderParam" )
511
- if len (order ) > 0 && ! DoesExistInSlice (orderParam , allowedOrderParams ) {
512
- return nil , errors .New (fmt .Sprintf ("given orderParam: %s is not allowed in query" , orderParam ))
508
+ postData .End , err = parseTimeMinusBufferStr (postData .EndStr , "end" )
509
+ if err != nil {
510
+ return nil , err
513
511
}
514
- limit := r .URL .Query ().Get ("limit" )
515
- offset := r .URL .Query ().Get ("offset" )
516
-
517
- if len (offset ) == 0 || len (limit ) == 0 {
518
- return nil , fmt .Errorf ("offset or limit param cannot be empty from the query" )
512
+ if postData .Limit == 0 {
513
+ return nil , fmt .Errorf ("limit param cannot be empty from the query" )
519
514
}
520
515
521
- limitInt , err := strconv .Atoi (limit )
522
- if err != nil {
523
- return nil , errors .New ("limit param is not in correct format" )
524
- }
525
- offsetInt , err := strconv .Atoi (offset )
526
- if err != nil {
527
- return nil , errors .New ("offset param is not in correct format" )
516
+ if len (postData .Order ) > 0 && ! DoesExistInSlice (postData .Order , allowedOrderDirections ) {
517
+ return nil , errors .New (fmt .Sprintf ("given order: %s is not allowed in query" , postData .Order ))
528
518
}
529
- serviceName := r .URL .Query ().Get ("serviceName" )
530
- exceptionType := r .URL .Query ().Get ("exceptionType" )
531
519
532
- params := & model.ListErrorsParams {
533
- Start : startTime ,
534
- End : endTime ,
535
- OrderParam : orderParam ,
536
- Order : order ,
537
- Limit : int64 (limitInt ),
538
- Offset : int64 (offsetInt ),
539
- ServiceName : serviceName ,
540
- ExceptionType : exceptionType ,
520
+ if len (postData .Order ) > 0 && ! DoesExistInSlice (postData .OrderParam , allowedOrderParams ) {
521
+ return nil , errors .New (fmt .Sprintf ("given orderParam: %s is not allowed in query" , postData .OrderParam ))
541
522
}
542
523
543
- return params , nil
524
+ return postData , nil
544
525
}
545
526
546
527
func parseCountErrorsRequest (r * http.Request ) (* model.CountErrorsParams , error ) {
547
528
548
- startTime , err := parseTime ("start" , r )
529
+ var postData * model.CountErrorsParams
530
+ err := json .NewDecoder (r .Body ).Decode (& postData )
531
+
549
532
if err != nil {
550
533
return nil , err
551
534
}
552
- endTime , err := parseTimeMinusBuffer ("end" , r )
535
+
536
+ postData .Start , err = parseTimeStr (postData .StartStr , "start" )
553
537
if err != nil {
554
538
return nil , err
555
539
}
556
- serviceName := r .URL .Query ().Get ("serviceName" )
557
- exceptionType := r .URL .Query ().Get ("exceptionType" )
558
-
559
- params := & model.CountErrorsParams {
560
- Start : startTime ,
561
- End : endTime ,
562
- ServiceName : serviceName ,
563
- ExceptionType : exceptionType ,
540
+ postData .End , err = parseTimeMinusBufferStr (postData .EndStr , "end" )
541
+ if err != nil {
542
+ return nil , err
564
543
}
565
-
566
- return params , nil
544
+ return postData , nil
567
545
}
568
546
569
547
func parseGetErrorRequest (r * http.Request ) (* model.GetErrorParams , error ) {
0 commit comments