在Paw中为Xdebug添加cookie

时间:2014-12-20 12:21:50

标签: cookies paw-app

我使用Xdebug和PHPStorm的调试功能调试我的API。为此,客户端需要一个名为XDEBUG_SESSION的cookie。

使用Postman时,我曾经使用Chrome扩展程序添加此Cookie,以及Postman的Cookie拦截功能,以便在Postman中使用它(因为它是一个沙盒应用程序)。

但是,我无法在Paw中创建cookie。因此,作为一种变通方法,我修改了API响应cookie,使密钥为XDEBUG_SESSION,值为PHPSTORM,并且调试工作正常。然而,这并不理想,因为我也希望将到期日设置为远期(我不能在Paw中)。

所以,我的问题是:

  • 有没有办法在Paw中添加自定义Cookie?
  • 如果没有,是否有办法编辑现有cookie的到期日期(考虑到名称,价值,域和路径是否可编辑)?
  • 还有其他方法可以实现我的目标吗?

2 个答案:

答案 0 :(得分:10)

我只是设法通过Paw(2.1.1)来调试我的API。

您只需添加一个名称为Cookie的标头,并且会从显示的下拉列表中选择值Cookies。然后,您必须在刚刚创建的标头的Cookie值中插入名为XDEBUG_SESSION的Cookie,其值为PHPSTORM

更清楚的是,您可以在下面的屏幕截图中看到它:

enter image description here

答案 1 :(得分:2)

我弄乱了它,看看我是否可以创建一个扩展。我无法做到,而且下面没有用,但我认为如果有人知道丢失的部分,我会分享。

首先,此功能没有扩展类别(生成器,动态值,导入器)。我试图使用动态值类别,但没有成功:

CookieInjector = function(key, value) {

    this.key = "XDEBUG_SESSION";
    this.value = "PHPSTORM";

    this.evaluate = function () {
        var f = function (x,y) {
                document.cookie=this.key+"="+this.value;
                return true;
        }
        return f(this.key, this.value);
    }

    // Title function: takes no params, should return the string to display as
    // the Dynamic Value title
    this.title = function() {
        return "Cookie"
    }

    // Text function: takes no params, should return the string to display as
    // the Dynamic Value text
    this.text = function() {
        return this.key+"="+this.value;
    }
}

// Extension Identifier (as a reverse domain name)
CookieInjector.identifier = "com.luckymarmot.PawExtensions.CookieInjector";

// Extension Name
CookieInjector.title = "Inject Cookie Into Cookie Jar";

// Dynamic Value Inputs
CookieInjector.inputs = [
    DynamicValueInput("key", "Key", "String"),
    DynamicValueInput("value", "Value", "String")
]

// Register this new Extension
registerDynamicValueClass(CookieInjector);

阻止此工作的主要原因是我不确定请求是如何在PAW中构建的,也不确定如何附加cookie。我查看了这里的文档:https://luckymarmot.com/paw/doc/Extensions/Reference/Reference,找不到我需要的内容。