我正在尝试使用Codeception测试我的Laravel 4 REST API,但是当我尝试通过我的Authorization标头发送时(使用REST模块的$ I-> amBearerAuthenticated()函数),它没有通过最终请求.
从我所看到的,Symfony2 BrowserKit模块修改了添加到HTTP_XXX_XXX格式的任何标头,因此发送的标头似乎是HTTP_AUTHORIZATION - 当我在我的应用程序中输出收到的标头时,但是,授权和HTTP_AUTHORIZATION都不存在.
如果有帮助,这是我的Codeception测试:
public function loginAndHitProtectedPage(ApiTester $I)
{
$I->wantTo('login and successfully get to a protected page');
$I->sendPOST('/auth/login', ['username' => 'user1', 'password' => 'pass']);
$I->seeResponseIsJson();
$token = $I->grabDataFromJsonResponse('token');
$I->amBearerAuthenticated($token);
$I->sendGET('/runs');
$I->seeResponseCodeIs(200);
$I->seeResponseIsJson();
$I->dontSeeResponseContains('error');
}
Run Code Online (Sandbox Code Playgroud)
根据BrowserKit发送的标头($this->client->getInternalRequest()->getServer()REST模块的输出):
HTTP_HOST : localhost
HTTP_USER_AGENT : Symfony2 BrowserKit
HTTP_AUTHORIZATION : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9sb2NhbGhvc3RcL2F1dGhcL2xvZ2luIiwic3ViIjoxLCJpYXQiOjE0MjE3ODY0NDEsImV4cCI6MTQyMTg3Mjg0MX0.XxxxZMe8gwF9GS8CdKsh5coNQer1c6G6prK05QJEmDQ
HTTP_REFERER : http://localhost/auth/login
HTTPS : false
Run Code Online (Sandbox Code Playgroud)
根据PHP收到的标题:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Language: en-us,en;q=0.5
Content-Type: application/x-www-form-urlencoded
Host: localhost
Referer: http://localhost/auth/login
User-Agent: Symfony2 BrowserKit
Run Code Online (Sandbox Code Playgroud)
令牌被正确接收,但我的API(正确)在GET请求上返回401,因为它没有收到令牌.
任何帮助将不胜感激!
我试图想出一种通过 CSS 围绕 Y 轴透视图像旋转图像的方法,以便最终的可见宽度等于所需的像素数。
例如,我可能想要旋转300px图像,以便在应用旋转和透视后,图像的宽度现在为240px(原始宽度的 80%)。通过反复试验,我知道我可以设置transform: perspective(300) rotateY(-12.68)并将左上角的点放在-240px(这是使用图像的右侧作为原点)
我不太清楚如何对其进行逆向工程,以便对于任何给定的图像宽度、透视和所需宽度,我可以计算必要的旋转。
例如。对于同一张300px图像,我现在希望它的旋转后宽度为150px- 获得必要角度所需的计算是什么?
这是一个游乐场,可以让您了解我正在寻找的内容,我复制了透视和旋转变换完成的数学来计算最左边点的最终位置,但我无法弄清楚给出如何在给定矩阵数学和涉及的多个步骤的情况下求解角度。
https://repl.it/@BenSlinger/PerspectiveWidthDemo
const calculateLeftTopPointAfterTransforms = (perspective, rotation, width) => {
// convert degrees to radians
const rRad = rotation * (Math.PI / 180);
// place the camera
const cameraMatrix = math.matrix([0, 0, -perspective]);
// get the upper left point of the image based on middle right transform origin
const leftMostPoint = math.matrix([-width, -width / 2, 0]); …Run Code Online (Sandbox Code Playgroud)