小编Aru*_*run的帖子

有什么方法可以调试 RSpec 请求规范吗?

我正在 RSpec 中为 Rails API 编写测试,并且端点已设置令牌身份验证。我需要在请求中传递 Authorization 标头,但我不断收到 401 未经授权的错误。有没有什么方法可以调试并深入了解这些类型的规范实际上传递了哪些标头等?否则就好像在黑暗中拍摄一样。我应该指出,下面提供的令牌在 Postman 中运行良好。

describe "Chirps API" do
    it "GET /chirps should return 200" do
        get "/chirps", headers: {
            "Authorization": "Token token=7cc9f851ea0e4013b7b15ec9131f6d58"
        }

        expect(response).to have_http_status(200)
    end
end
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails

6
推荐指数
1
解决办法
2799
查看次数

仅当匹配索引的行数满足值时,如何从 MySQL 表中选择行?

仅当与索引匹配的行数满足特定数字时,我才想从 MySQL 表中返回行。

问题是:我有一个按用户名索引的用户评论表。因此,我有许多不同评论的行,所有评论都按用户名编入索引。我正在创建一个搜索过滤器,所以我需要返回拥有一定数量评论的人的用户名(即表格中的评论行数)。

我将如何创建一个 MySQL 查询,该查询只会提取人们说有 4 条评论(4 个表行条目)的用户名?

mysql sql

4
推荐指数
1
解决办法
3024
查看次数

如何在Gitlab CE Omnibus中关闭机架攻击?

我正在使用通过omnibus软件包安装的Gitlab CE,我将它专门用于API组件.

我有另一个应用程序服务器使用cURL访问API端点,因此对于Gitlab,它看起来像所有请求来自相同的IP地址.

当我尝试访问"受保护的路径"时,例如登录或注册用户前10个工作,然后Rack :: Attack启动并抛出429个错误.

这是我找到的配置文件的路径:

/var/opt/gitlab/gitlab-rails/etc/rack_attack.rb
Run Code Online (Sandbox Code Playgroud)

这个文件在顶部有这一行:

#This file is managed by gitlab-ctl. Manual changes will be
#erased! To change the contents below, edit /etc/gitlab/gitlab.rb
#and run `sudo gitlab-ctl reconfigure`.
Run Code Online (Sandbox Code Playgroud)

当我尝试直接编辑此文件时,它会在我进行重新配置时还原.

我在/etc/gitlab/gitlab.rb文件中找不到任何可以配置这些设置的内容.有谁知道我怎么做到这一点?我宁愿在我的应用程序服务器上安装Rack :: Attack,只是让Gitlab打开,因为我的服务器是唯一直接命中它的东西.

ruby ruby-on-rails gitlab gitlab-omnibus

3
推荐指数
1
解决办法
3430
查看次数

如何用REGEX替换未知数量的相同字符?

我试图使用JavaScript String.replace方法来操作markdown代码.我想做到这一点,所有标题是统一的,所以我需要采取各种##,###,####等组合,并在它们后面加一个空格.

因此 - "##"变为"##","####"变为"####"等.

我正在尝试使用全局标志:

md.replace("/#/g", "# ");
Run Code Online (Sandbox Code Playgroud)

这不会考虑所有这些散列符号的组合.我怎样才能做到这一点?

javascript regex

2
推荐指数
1
解决办法
676
查看次数

PHP变量正确回显但没有进入数据库

我试图将5个变量输入MySQL数据库.这是代码:

    foreach ($avail_t as $row) {
    $ava = explode("+",$row);
    $day = $ava[0];
    $from = $ava[1];
    $to = $ava[2];
    //echo $day." ".$from." ".$to;
    $query = "INSERT INTO availability (username, login_value, day, from, to) VALUES ('{$_SESSION['username']}', '{$_SESSION['login_value']}', '{$day}', '{$from}', '{$to}')";
    mysql_query($query);
}
Run Code Online (Sandbox Code Playgroud)

当我取消注释那个echo语句时,所有变量都打印出来就好了,但是当我处理查询时它不会进入数据库.奇怪的是,如果我从$和$中减去$并且只输入$ day,它将进入当天.当我把$和$放回去时,没有输入任何内容.

你看到这段代码有什么问题吗?对于$ from和$ to,数据类型在军事时间格式2100,1300等中是整数.

php mysql

1
推荐指数
1
解决办法
77
查看次数

使用www或不使用www会话变量丢失

我的网站使用PHP会话来跟踪登录用户.每个页面都有session_start(); 正确实施,但在我放置www时使用chrome.在域名中,它不使用会话变量.当我没有www替换它.它再次正常工作,因此变量不会被取消,而只是不被使用.

在Firefox中,奇怪的是它是另一种方式.万维网.工作,没有.有没有解决的办法?我遇到了麻烦,因为我正在使用PayPal重定向到我的网站,我不能让我的用户必须在以后注销并重新登录.

php session-variables

1
推荐指数
1
解决办法
693
查看次数

从Ruby中的字符串执行代码?

我正在使用元数据方法来处理一些代码.假设以下是一个字符串:

if $bmi >= 18.5 && $bmi <= 24.9 then return 'healthy' elsif $bmi >= 25 && $bmi <= 29.9 then return 'overweight' elsif $bmi > 30 then return 'obese' end
Run Code Online (Sandbox Code Playgroud)

$ bmi被正确替换,但我希望代码执行.

ruby

0
推荐指数
1
解决办法
949
查看次数