244
// validatePageRequest validates a pagination request for both the intermediate
245
// (AppendTaskCompletionPage) and final (GetMergedTaskCompletionPages) paths.
246
>
func validatePageRequest(request *workflowservice.RespondWorkflowTaskCompletedRequest) error {
context.go
247
>
if request.GetPageNumber() == 0 && !request.GetIntermediatePage() {
248
return serviceerror.NewInvalidArgumentf(
249
"validatePageRequest: unexpected non-paginated request")
250
}
252
return serviceerror.NewInvalidArgumentf(
253
"workflow task completion pagination page number must be non-negative")
254
}
255
>
if request.GetPageNumber() >= maxWorkflowTaskCompletionPages {
context.go
256
return serviceerror.NewInvalidArgumentf(
257
"workflow task completion pagination supports at most %d pages", maxWorkflowTaskCompletionPages)
258
}
259
// An intermediate page with no commands is currently not practical.
260
>
if request.GetIntermediatePage() && len(request.Commands) == 0 {
context.go
261
return serviceerror.NewInvalidArgument(
262
"intermediate workflow task page must carry at least one command")