Skip to content
Open
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
10 changes: 5 additions & 5 deletions App/StackExchange.DataExplorer/Controllers/QueryController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public async Task<ActionResult> Save(string sql, string title, string descriptio

var parsedQuery = new ParsedQuery(
sql,
Request.Params,
UserParams,
withExecutionPlan == true,
targetSites ?? TargetSites.Current
);
Expand Down Expand Up @@ -307,7 +307,7 @@ public async Task<ActionResult> Execute(int querySetId, int revisionId, int site
var query = Current.DB.Queries.Get(revision.QueryId);
var parsedQuery = new ParsedQuery(
query.QueryBody,
Request.Params,
UserParams,
withExecutionPlan == true,
targetSites ?? TargetSites.Current
);
Expand Down Expand Up @@ -371,7 +371,7 @@ public ActionResult ShowSingleSiteCsv(string sitename, int revisionId, string sl
: RedirectPermanent($"/{site.TinyName.ToLower()}/csv/{revisionId}{(slug.HasValue() ? "/" + slug : "")}{Request.Url.Query}");
}

var parsedQuery = new ParsedQuery(query.QueryBody, Request.Params);
var parsedQuery = new ParsedQuery(query.QueryBody, UserParams);
if (!parsedQuery.IsExecutionReady)
{
return PageBadRequest();
Expand Down Expand Up @@ -433,7 +433,7 @@ private ActionResult GetCsv(string sitename, int revisionId, TargetSites targetS
}

var results = QueryRunner.GetResults(
new ParsedQuery(query.QueryBody, Request.Params, executionPlan: false, targetSites: targetSites),
new ParsedQuery(query.QueryBody, UserParams, executionPlan: false, targetSites: targetSites),
null,
CurrentUser
);
Expand Down Expand Up @@ -511,7 +511,7 @@ public ActionResult ShowPlan(string sitename, int revisionId, string slug)
: RedirectPermanent($"/{site.TinyName.ToLower()}/plan/{revisionId}{(slug.HasValue() ? "/" + slug : "")}{Request.Url.Query}");
}

var parsedQuery = new ParsedQuery(query.QueryBody, Request.Params);
var parsedQuery = new ParsedQuery(query.QueryBody, UserParams);
if (!parsedQuery.IsExecutionReady)
{
return PageBadRequest();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ private ActionResult ShowCommon(Revision revision, string slug, bool latest)
}

CachedResult cachedResults = QueryUtil.GetCachedResults(
new ParsedQuery(revision.Query.QueryBody, Request.Params),
new ParsedQuery(revision.Query.QueryBody, UserParams),
Site.Id
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,30 @@ protected override void OnActionExecuted(ActionExecutedContext filterContext)
base.OnActionExecuted(filterContext);
}
#endif

private NameValueCollection _userParams;

public NameValueCollection UserParams
{
get
{
if (_userParams == null) InitUserParams();
return _userParams;
}
}

protected void InitUserParams()
{
var combinedParams = new NameValueCollection(Request.QueryString);

foreach (string key in Request.Form)
{
combinedParams[key] = Request.Form[key];
}

_userParams = combinedParams;
}

private User _currentUser;
/// <summary>
/// Gets a User object representing the current request's client.
Expand Down