@@ -23,10 +23,11 @@ public class RequestMiddleware
23
23
private readonly RequestDelegate _next ;
24
24
private IResourceGraph _resourceGraph ;
25
25
private HttpContext _httpContext ;
26
- private IJsonApiOptions _options ;
27
26
private IJsonApiContext _jsonApiContext ;
28
27
private IRequestManager _requestManager ;
28
+ private IPageManager _pageManager ;
29
29
private IQueryParser _queryParser ;
30
+ private IJsonApiOptions _options ;
30
31
31
32
public RequestMiddleware ( RequestDelegate next )
32
33
{
@@ -37,13 +38,15 @@ public async Task Invoke(HttpContext httpContext,
37
38
IJsonApiContext jsonApiContext ,
38
39
IResourceGraph resourceGraph ,
39
40
IRequestManager requestManager ,
41
+ IPageManager pageManager ,
40
42
IQueryParser queryParser ,
41
43
IJsonApiOptions options )
42
44
{
43
45
_httpContext = httpContext ;
44
46
_jsonApiContext = jsonApiContext ;
45
47
_resourceGraph = resourceGraph ;
46
48
_requestManager = requestManager ;
49
+ _pageManager = pageManager ;
47
50
_queryParser = queryParser ;
48
51
_options = options ;
49
52
@@ -74,7 +77,7 @@ public async Task Invoke(HttpContext httpContext,
74
77
}
75
78
}
76
79
/// <summary>
77
- /// Parses the uri, and helps you out
80
+ /// Parses the uri
78
81
/// </summary>
79
82
/// <param name="context"></param>
80
83
/// <param name="requestManager"></param>
@@ -83,7 +86,10 @@ protected void HandleUriParameters()
83
86
if ( _httpContext . Request . Query . Count > 0 )
84
87
{
85
88
//requestManager.FullQuerySet = context.Request.Query;
86
- _requestManager . QuerySet = _queryParser . Parse ( _httpContext . Request . Query ) ;
89
+ var querySet = _queryParser . Parse ( _httpContext . Request . Query ) ;
90
+ _requestManager . QuerySet = querySet ; //this shouldn't be exposed
91
+ _pageManager . PageSize = querySet . PageQuery . PageSize ?? _pageManager . PageSize ;
92
+ _pageManager . CurrentPage = querySet . PageQuery . PageOffset ?? _pageManager . CurrentPage ;
87
93
_requestManager . IncludedRelationships = _requestManager . QuerySet . IncludedRelationships ;
88
94
}
89
95
}
0 commit comments