小编tg4*_*g44的帖子

akka HttpResponse将body读取为String scala

所以我有一个带有这个签名的函数(akka.http.model.HttpResponse):

def apply(query: Seq[(String, String)], accept: String): HttpResponse
Run Code Online (Sandbox Code Playgroud)

我只是在测试中得到一个值:

val resp = TagAPI(Seq.empty[(String, String)], api.acceptHeader)
Run Code Online (Sandbox Code Playgroud)

我想在测试中检查它的身体,例如:

resp.entity.asString == "tags"
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将响应体作为字符串?

scala akka akka-http

29
推荐指数
5
解决办法
2万
查看次数

玩框架vs SocketIO如何整合它们?

所以我们要玩!可以与SocketIO(javascript)客户端通信的应用程序。

到目前为止,我已经尝试过:

使用播放!内置WebSocket并发送与node.js服务器完全相同的字符串。结果根本无法正常工作。我可以在chrome框架选项卡中看到返回的消息,但是当来自nodejs服务器的消息触发onEvent处理程序时,Java实现从不执行此操作。

使用/移植socket.io.play项目。结果与Play相同!websocket版本,服务器获取消息,响应,但是消息不会触发javascript事件处理程序。

第三个Java实现是netty-socketio。我还没有尝试过,但是当我需要在另一个端口上启动而不是使用服务器端口和路由中的构建时,主要概念存在问题。

Java和scala版本都受到欢迎,我可以同时使用。

所以我的问题是:

  • SocketIO(> = v1.0)是否有任何可运行的Play(> = 2.3.0)应用程序?
  • Play的内置WebSocket实现中可能会出现问题!?如何将其用于SocketIO协议?
  • 我可以在Play内使用基于netty的webapp吗?无需使用新的路由机制或新端口的应用程序?
  • 有没有比javascript更类型化或形式化的语言的参考实现?

播放Java控制器返回类型的示例:

public class WebSocketWithCallBack extends WebSocket<String> {
    private static List<Out<String>> globalOutList = new ArrayList<>();
    @Override
    public void onReady(In<String> in, final Out<String> out) {
        //Adding the output to the room
        globalOutList.add(out);
        System.out.println("adding output, " + globalOutList.size());
        // For each event received on the socket,
        in.onMessage(new F.Callback<String>() {
            public void invoke(String event) {
                //send event to all outputs
                System.out.println("recieved message: ");
                System.out.println(event);
                for(Out<String> …
Run Code Online (Sandbox Code Playgroud)

java scala playframework socket.io

5
推荐指数
0
解决办法
951
查看次数

VTTEST 和 MOZILAVT HTTP 方法,这些是什么?

在过去的两天里,我收到了几个警报,因为我们的服务在很大一部分请求中响应了 5xx(通常是在下班时间,当我们的流量为零到低时)。

\n

当我检查应用程序日志时,我发现了这两个;

\n
Illegal request, responding with status \xe2\x80\x98501 Not Implemented\xe2\x80\x99: Unsupported HTTP method: MOZILLAVT\n\nIllegal request, responding with status \xe2\x80\x98501 Not Implemented\xe2\x80\x99: Unsupported HTTP method: VTTEST\n
Run Code Online (Sandbox Code Playgroud)\n

知道这些是什么以及哪些工具产生它们吗?谷歌没有帮助。

\n

很明显,我们的网站正在接受某种漏洞测试,因为我看到了 nginx 访问日志,但这些请求不存在,这更奇怪。

\n

http http-method

5
推荐指数
0
解决办法
895
查看次数

标签 统计

scala ×2

akka ×1

akka-http ×1

http ×1

http-method ×1

java ×1

playframework ×1

socket.io ×1