GoAhead 设置多个cookie时只有第一个设置成功的问题

在使用GoAhead的时候,发现设置多个cookie时只有第一个设置成功,研究了下源码,发现是个bug,有一个不是很优雅的临时解决方案,修改源码如下:

http.c 的第2933行代码如下:

    if (wp->responseCookie) {
        old = wp->responseCookie;
        wp->responseCookie = sfmt("%s %s", wp->responseCookie, cookie);
        wfree(old);
        wfree(cookie);
    } else {
        wp->responseCookie = cookie;
    }

把它改成:

    if (wp->responseCookie) {
        old = wp->responseCookie;
        wp->responseCookie = sfmt("%s \r\nSet-Cookie: %s", wp->responseCookie, cookie);
        wfree(old);
        wfree(cookie);
    } else {
        wp->responseCookie = cookie;
    }

主要是改了2935行的代码。

注:这里的版本为goahead-4.0.2

你可能感兴趣的:(GoAhead 设置多个cookie时只有第一个设置成功的问题)