Merge branch 'share-files' of github.com:beyondcode/phunnel into share-files

This commit is contained in:
Marcel Pociot
2020-11-01 20:34:06 +01:00
7 changed files with 14 additions and 24 deletions

View File

@@ -7,15 +7,12 @@ use App\Http\QueryParameters;
use GuzzleHttp\Psr7\ServerRequest;
use Illuminate\Http\Request;
use Psr\Http\Message\ServerRequestInterface;
use Ratchet\ConnectionInterface;
use React\EventLoop\LoopInterface;
use React\Http\Response;
use React\Stream\ReadableResourceStream;
use Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory;
use Symfony\Component\Finder\Finder;
use Symfony\Component\Finder\Glob;
use Symfony\Component\Finder\Iterator\FilenameFilterIterator;
use Symfony\Component\Finder\SplFileInfo;
class ConnectionHandler
{
@@ -40,7 +37,7 @@ class ConnectionHandler
public function handle(ServerRequestInterface $request)
{
$request = $this->createLaravelRequest($request);
$targetPath = realpath($this->rootFolder . DIRECTORY_SEPARATOR . $request->path());
$targetPath = realpath($this->rootFolder.DIRECTORY_SEPARATOR.$request->path());
if (! $this->isValidTarget($targetPath)) {
return new Response(404);
@@ -70,7 +67,7 @@ class ConnectionHandler
'currentPath' => $request->path(),
'parentPath' => $parentPath,
'directory' => $targetPath,
'directoryContent' => $directoryContent
'directoryContent' => $directoryContent,
])
);
}
@@ -108,6 +105,7 @@ class ConnectionHandler
return $this->isAccepted($this->filename);
}
};
return $filter->accept();
}

View File

@@ -4,7 +4,6 @@ namespace App\Client\Fileserver;
use Psr\Http\Message\ServerRequestInterface;
use React\EventLoop\LoopInterface;
use React\Http\Response;
use React\Http\Server;
use React\Socket\Server as SocketServer;

View File

@@ -92,7 +92,7 @@ class HttpClient
])
->send($request)
->then(function (ResponseInterface $response) use ($proxyConnection) {
if (!isset($response->buffer)) {
if (! isset($response->buffer)) {
$response = $this->rewriteResponseHeaders($response);
$response->buffer = str($response);
@@ -139,13 +139,13 @@ class HttpClient
protected function rewriteResponseHeaders(ResponseInterface $response)
{
if (!$response->hasHeader('Location')) {
if (! $response->hasHeader('Location')) {
return $response;
}
$location = $response->getHeaderLine('Location');
if (!strstr($location, $this->connectionData->host)) {
if (! strstr($location, $this->connectionData->host)) {
return $response;
}

View File

@@ -25,7 +25,7 @@ class ShareFilesCommand extends Command
public function handle()
{
if ( !is_dir($this->argument('folder'))) {
if (! is_dir($this->argument('folder'))) {
throw new \InvalidArgumentException('The folder '.$this->argument('folder').' does not exist.');
}

View File

@@ -23,10 +23,10 @@ trait LoadsViews
$data = array_merge($data, [
'request' => $connection->laravelRequest ?? null,
]);
try {
try {
return stream_for($twig->render('template', $data));
} catch (\Throwable $e) {
} catch (\Throwable $e) {
var_dump($e->getMessage());
}
}
}
}

View File

@@ -75,7 +75,7 @@ class TunnelMessageController extends Controller
$httpConnection = $this->connectionManager->storeHttpConnection($httpConnection, $requestId);
transform($this->passRequestThroughModifiers($request, $httpConnection), function (Request $request) use ($controlConnection , $requestId) {
transform($this->passRequestThroughModifiers($request, $httpConnection), function (Request $request) use ($controlConnection, $requestId) {
$controlConnection->once('proxy_ready_'.$requestId, function (ConnectionInterface $proxy) use ($request) {
// Convert the Laravel request into a PSR7 request
$psr17Factory = new Psr17Factory();

View File

@@ -4,15 +4,8 @@ namespace Tests\Feature\Client;
use App\Client\Configuration;
use App\Client\Factory;
use App\Client\Http\HttpClient;
use App\Logger\LoggedRequest;
use App\Logger\RequestLogger;
use Clue\React\Buzz\Browser;
use Clue\React\Buzz\Message\ResponseException;
use GuzzleHttp\Psr7\Request;
use function GuzzleHttp\Psr7\str;
use Mockery as m;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Tests\Feature\TestCase;