Make AphrontProxyResponse reduce to a real response instead of building a string

Summary: Currently, AphrontProxyResponse is expected to build a string. This prevents some response types (like Dialog) from being proxied, because they have special rules. Instead, make proxy responses reduce into a non-proxied response so it's possible to proxy any type of response and hit all the normal rules for it.

Test Plan: Built a proxied DialogResponse on top of this.

Reviewers: btrahan, vrana

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T2104, T912

Differential Revision: https://secure.phabricator.com/D4159
This commit is contained in:
epriestley
2012-12-11 17:27:25 -08:00
parent 4fe09a0ac7
commit dd669c6d4e
4 changed files with 29 additions and 9 deletions

View File

@@ -19,7 +19,7 @@ final class PhabricatorChangesetResponse extends AphrontProxyResponse {
return new AphrontAjaxResponse();
}
public function buildResponseString() {
public function reduceProxyResponse() {
$content = array(
'changeset' => $this->renderedChangeset,
);
@@ -28,7 +28,7 @@ final class PhabricatorChangesetResponse extends AphrontProxyResponse {
$content['coverage'] = $this->coverage;
}
return $this->getProxy()->setContent($content)->buildResponseString();
return $this->getProxy()->setContent($content);
}
}