问题标签 [dart-shelf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
104 浏览

get - 使用 GET 请求的目录参数动态提供内容 - 货架包 dart

下面的代码片段来自服务于获取请求的服务器

服务器片段

1)

2)

3)

在单击事件中,我还在客户端应用程序中运行此代码。

不幸的getString是没有成功。运行catchError并导致. an error occurred: Instance of '_XMLHttpRequestProgressEvent'同样在 Dart 编辑器的 ToolsOutput 命令行中,我得到[web] GET /newest => Could not find asset linkShepherdClient|web/newest.. 这是正确的,因为该目录不存在。我以为我可以使用目录作为参数来运行正确的处理程序,并在 中返回正确的值.ok(),但似乎并非如此。这是否意味着我无法使用 GET 请求从任何来源获取数据,因为它总是会尝试从服务器上的此目录中实际获取数据?

编辑:使用 http 包的代码示例。(不工作)

使用 http 包等附加包的答案也非常受欢迎。

0 投票
0 回答
207 浏览

websocket - 使用shelf_auth和shelf_web_socket在Dart中验证websocket连接

使用shelf_auth,我可以通过这种方式从请求中提取当前用户信息:

但是,显然,我需要一个请求才能工作:) 另一方面,使用shelf_web_socket,建立websocket连接会执行如下处理程序:

但我不知道如何将原始套接字连接请求转发到我的 handleWS,以便能够知道哪个用户刚刚连接到服务器。


另一个问题是存储这些打开的套接字的最佳实践是什么,以便能够向所有连接的客户端发送广播消息,并在关闭时删除相应的套接字。首先,我想到的是将套接字存储Map<int,CompatibleWebSocket>在 int 之类的地图中CompatibleWebSocket.hash()

然后我可以迭代Map.values()进行广播,并在连接关闭时按键删除。

如果该技术对于此类任务过于复杂并且可能存在更方便的方式来执行此操作,例如将它们存储在列表中,我无法理解?或者我可以以某种方式加入 Streams 进行广播吗?

0 投票
2 回答
463 浏览

authentication - 在某些过程中使用 dart RPC 和shelf_auth

我正在使用dart-lang/rpcshelf_rpc软件包。

我的一些资源需要身份验证。我决定使用JWT并想使用JwtSessionHandlerfrom shelf_auth

我的简化设置如下所示:

我怎样才能只添加以(例如)loginMiddleware开头的请求?/account甚至更好:是否可以loginMiddleware在 RPC 资源本身上定义(而不是定义可能会更改和取消身份验证的路径前缀)?

0 投票
1 回答
143 浏览

dart - 我如何使用 dart 和 angular 2 支持客户端路由?

我正在尝试运行 Angular2 alpha 35

我有一个带有静态架子服务器的服务器设置。它适用于在 pub 构建后发布到 heroku。

当我使用 pub serve 在本地进行测试时,我似乎无法控制路由,并且我需要更精细的控制来修改路由以始终指向 index.html - (客户端路由)

当我使用架子指向网络文件夹时——我可以提供资产——但我失去了所有的飞镖转换器。

问题

使用客户端路由为原生 Dart 项目提供 SPA 的最佳方法是什么?

0 投票
1 回答
367 浏览

dart - Dart:使用shelf_rest添加一个中间件以解析为JSON

我创建了一个使用镜像将模型转换为 JSON 的函数。

我希望使用它,以便我的模型/视图模型在请求/响应之间来回转换,这样我就不必为每个模型/视图模型类实现 toJson() 方法。

我打算使用shelf_rest。我正在查看此页面上的示例:https ://pub.dartlang.org/packages/shelf_rest

但是我不确定如何连接上面的方法,以便它可以与shelf_rest的路由注释一起使用,比如下面的资源......

...但将在请求/响应表单 AccountResource 之前/之后映射 JSON 以转换为对象。

0 投票
1 回答
86 浏览

dart - 在 Dart 中分离级联

我在 Dart 中看到了一些奇怪的行为。我的目标是仅在存在构建/网络目录时才提供静态资产。

1-以下作品:

2-以下不起作用:

问题:场景 1 中的示例运行良好。在第二个示例中,当我添加 fHandler 时,为什么它的关联路由都没有得到处理?

0 投票
1 回答
510 浏览

dart - Dart Server Side:使用 Shelf 而不是 IO 作为 Web Server 的优势在哪里?

我想使用 RPC 库来开发 Dart 服务器端 Restful。在库存储库中,它带来了两个示例如何使用(https://github.com/dart-lang/rpc-examples/tree/master/bin):Shelf和 IO。

我想更好地了解 Shelf 和 IO 之间的区别。使用 Shelf 而不是 IO 作为 Web 服务器的优势在哪里?

0 投票
1 回答
648 浏览

dart - 如何在飞镖架-RPC服务器中获取客户端IP

我有一个用 Shelf 和 Rpc api 编写的 dart Web 服务应用程序。

我需要在我的 api 方法中检查客户端 Ip,但我不知道如何。

上下文方法不包含 HttpRequest .contentInfo 属性。

此外,货架 Request 对象也不包含它,因此中间件功能也没有用。

有人对如何解决这个问题有想法吗?

0 投票
1 回答
221 浏览

unit-testing - 使用 dart 的shelf_rest 进行单元测试

我正在尝试测试在shelf_rest上运行的Dart REST 应用程序。假设设置类似于shelf_rest示例,如何在不实际运行 HTTP 服务器的情况下测试配置的路由?

在不涉及太多额外逻辑的情况下,如何对 GETaccount端点进行单元测试?我想运行的一些基本测试是:

  • GET /accounts/123返回 200
  • GET /accounts/bogus返回 404
0 投票
1 回答
423 浏览

server - Angular Dart - 如何为 Angular Dart 应用程序创建代理服务器?

我想为我的 angular-dart 应用程序创建一个代理服务器,index.html每当我刷新浏览器并且路由与 root 不同时,它都会将我重定向到。例如,如果 url 是:http://localhost:8080/users并且我点击了刷新按钮,我想被重定向到http://localhost:8080or http://localhost:8080/index.html

此外,能够连接到第三方服务器应用程序将非常有用。换句话说,我想运行pub serve和运行第三方服务器(python、php 或 java)localhost:9000