mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-28 09:42:41 +01:00
8798083ad9
Summary: Fixes T7034. Like HTTP, proxy requests to the correct host if a repository has an Almanac service host. Test Plan: Ran VCS requests through the proxy. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T7034 Differential Revision: https://secure.phabricator.com/D11543
86 lines
1.8 KiB
PHP
86 lines
1.8 KiB
PHP
<?php
|
|
|
|
abstract class PhabricatorSSHWorkflow extends PhabricatorManagementWorkflow {
|
|
|
|
private $user;
|
|
private $iochannel;
|
|
private $errorChannel;
|
|
private $isClusterRequest;
|
|
private $originalArguments;
|
|
|
|
public function isExecutable() {
|
|
return false;
|
|
}
|
|
|
|
public function setErrorChannel(PhutilChannel $error_channel) {
|
|
$this->errorChannel = $error_channel;
|
|
return $this;
|
|
}
|
|
|
|
public function getErrorChannel() {
|
|
return $this->errorChannel;
|
|
}
|
|
|
|
public function setUser(PhabricatorUser $user) {
|
|
$this->user = $user;
|
|
return $this;
|
|
}
|
|
|
|
public function getUser() {
|
|
return $this->user;
|
|
}
|
|
|
|
public function setIOChannel(PhutilChannel $channel) {
|
|
$this->iochannel = $channel;
|
|
return $this;
|
|
}
|
|
|
|
public function getIOChannel() {
|
|
return $this->iochannel;
|
|
}
|
|
|
|
public function readAllInput() {
|
|
$channel = $this->getIOChannel();
|
|
while ($channel->update()) {
|
|
PhutilChannel::waitForAny(array($channel));
|
|
if (!$channel->isOpenForReading()) {
|
|
break;
|
|
}
|
|
}
|
|
return $channel->read();
|
|
}
|
|
|
|
public function writeIO($data) {
|
|
$this->getIOChannel()->write($data);
|
|
return $this;
|
|
}
|
|
|
|
public function writeErrorIO($data) {
|
|
$this->getErrorChannel()->write($data);
|
|
return $this;
|
|
}
|
|
|
|
protected function newPassthruCommand() {
|
|
return id(new PhabricatorSSHPassthruCommand())
|
|
->setErrorChannel($this->getErrorChannel());
|
|
}
|
|
|
|
public function setIsClusterRequest($is_cluster_request) {
|
|
$this->isClusterRequest = $is_cluster_request;
|
|
return $this;
|
|
}
|
|
|
|
public function getIsClusterRequest() {
|
|
return $this->isClusterRequest;
|
|
}
|
|
|
|
public function setOriginalArguments(array $original_arguments) {
|
|
$this->originalArguments = $original_arguments;
|
|
return $this;
|
|
}
|
|
|
|
public function getOriginalArguments() {
|
|
return $this->originalArguments;
|
|
}
|
|
|
|
}
|