小编Bil*_*rin的帖子

Groovy HttpBuilder - 获取失败的响应

我正在尝试使用Groovy HTTPBuilder编写集成测试,该测试将验证正文中返回的正确错误消息以及HTTP 409状态消息.但是,我无法弄清楚如何在失败的情况下实际访问HTTP响应的主体.

http.request(ENV_URL, Method.POST, ContentType.TEXT) {
    uri.path = "/curate/${id}/submit"
    contentType = ContentType.JSON
    response.failure = { failresp_inner ->
        failresp = failresp_inner
    }
}

then:
assert failresp.status == 409
// I would like something like 
//assert failresp.data == "expected error message"
Run Code Online (Sandbox Code Playgroud)

这是来自服务器的HTTP响应:

2013-11-13 18:17:58,726 DEBUG  wire - << "HTTP/1.1 409 Conflict[\r][\n]"
2013-11-13 18:17:58,726 DEBUG  wire - << "Date: Wed, 13 Nov 2013 23:17:58 GMT[\r][\n]"
2013-11-13 18:17:58,726 DEBUG  wire - << "Content-Type: text/plain[\r][\n]"
2013-11-13 18:17:58,726 DEBUG  wire - << "Transfer-Encoding: chunked[\r][\n]"
2013-11-13 …
Run Code Online (Sandbox Code Playgroud)

groovy httpbuilder

13
推荐指数
3
解决办法
2万
查看次数

GCC链接到共享对象的链接器名称

假设我有:

  • /usr/lib/libsomething.so.1 在机器A上;
  • /usr/lib/libsomething.so.2 在机器B.

两台机器都有/usr/lib/libsomething.so符号链接到各自的库.

如果我使用链接gcc-lsomething(甚至/usr/lib/libsomething.so),它会跟随符号链接,和ldd机器上的产生是这样的:

libsomething.so.1 => /usr/lib/libsomething.so.1
Run Code Online (Sandbox Code Playgroud)

这意味着它将无法在机器B上找到库.

现在我知道这些是主要的版本号更改,我知道它们可能不兼容,但我愿意冒这个风险.我想告诉链接器要查找libsomething.so,不要按照符号链接ldd显示

libsomething.so => /usr/lib/libsomething.so.1
Run Code Online (Sandbox Code Playgroud)

在A但是

libsomething.so => /usr/lib/libsomething.so.2
Run Code Online (Sandbox Code Playgroud)

在B.然后加载器将遵循符号链接到任何版本.

此外,我不希望延迟加载dlopen或任何东西.我希望它在编译时链接到共享对象.

这甚至可能吗?

linker gcc ld shared-objects

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

将类作为方法附加

我发现了Python的一个奇怪的角落,希望能对理解有所帮助。

假设我有一个B要附加的类作为class的方法A。我可以:

class A:
  def __init__(self):
    print("a self is %s " % self)

class B:
  def __init__(self):
    print("b self is %s " % self)

setattr(A, "B", B)

a = A()
a.B()
Run Code Online (Sandbox Code Playgroud)

当我调用时a.B(),在中B.__init__我获得了self一个新的B实例的对象。

现在假设我想aB构造函数中捕获实例的实际值。我发现您可以使用包装函数来做到这一点:

class A:
  def __init__(self):
    print("a self is %s " % self)

class B:
  def __init__(self, a_instance):
    print("b self is %s a_instance is %s " % (self, a_instance))

def _(*args, **kwargs):
  return B(*args, **kwargs) …
Run Code Online (Sandbox Code Playgroud)

python

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

Android View onKeyUp() 没有被调用

我是 Android 开发的新手,所以我想我有一个简单的问题,但我似乎无法弄清楚出了什么问题。

我基本上从样本中复制了 LunarLander 游戏示例,但我试图只复制制作小乒乓球或其他东西所需的部分。但出于某种原因, onKeyUp 和 onKeyDown 没有被调用。部分问题是我仍然不确定 Android 的调试方法是什么。

public class PongView extends SurfaceView implements SurfaceHolder.Callback{

...

    /** 
     * Standard override for key up.  Used to move the paddles
     * @return
     */
    @Override
    public boolean onKeyUp(int keyCode, KeyEvent msg) {
            return thread.doKeyUp(keyCode, msg);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent msg) {
        return thread.doKeyDown(keyCode, msg);
    }

...
}
Run Code Online (Sandbox Code Playgroud)

编辑解决方案:

我忘了把这一行放在我的视图的构造函数中。

    setFocusable(true);
Run Code Online (Sandbox Code Playgroud)

android view

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

标签 统计

android ×1

gcc ×1

groovy ×1

httpbuilder ×1

ld ×1

linker ×1

python ×1

shared-objects ×1

view ×1