问题标签 [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.
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 包等附加包的答案也非常受欢迎。
websocket - 使用shelf_auth和shelf_web_socket在Dart中验证websocket连接
使用shelf_auth,我可以通过这种方式从请求中提取当前用户信息:
但是,显然,我需要一个请求才能工作:) 另一方面,使用shelf_web_socket,建立websocket连接会执行如下处理程序:
但我不知道如何将原始套接字连接请求转发到我的 handleWS,以便能够知道哪个用户刚刚连接到服务器。
另一个问题是存储这些打开的套接字的最佳实践是什么,以便能够向所有连接的客户端发送广播消息,并在关闭时删除相应的套接字。首先,我想到的是将套接字存储Map<int,CompatibleWebSocket>
在 int 之类的地图中CompatibleWebSocket.hash()
。
然后我可以迭代Map.values()
进行广播,并在连接关闭时按键删除。
如果该技术对于此类任务过于复杂并且可能存在更方便的方式来执行此操作,例如将它们存储在列表中,我无法理解?或者我可以以某种方式加入 Streams 进行广播吗?
authentication - 在某些过程中使用 dart RPC 和shelf_auth
我正在使用dart-lang/rpc
该shelf_rpc
软件包。
我的一些资源需要身份验证。我决定使用JWT并想使用JwtSessionHandler
from shelf_auth
。
我的简化设置如下所示:
我怎样才能只添加以(例如)loginMiddleware
开头的请求?/account
甚至更好:是否可以loginMiddleware
在 RPC 资源本身上定义(而不是定义可能会更改和取消身份验证的路径前缀)?
dart - 我如何使用 dart 和 angular 2 支持客户端路由?
我正在尝试运行 Angular2 alpha 35
我有一个带有静态架子服务器的服务器设置。它适用于在 pub 构建后发布到 heroku。
当我使用 pub serve 在本地进行测试时,我似乎无法控制路由,并且我需要更精细的控制来修改路由以始终指向 index.html - (客户端路由)
当我使用架子指向网络文件夹时——我可以提供资产——但我失去了所有的飞镖转换器。
问题:
使用客户端路由为原生 Dart 项目提供 SPA 的最佳方法是什么?
dart - Dart:使用shelf_rest添加一个中间件以解析为JSON
我创建了一个使用镜像将模型转换为 JSON 的函数。
我希望使用它,以便我的模型/视图模型在请求/响应之间来回转换,这样我就不必为每个模型/视图模型类实现 toJson() 方法。
我打算使用shelf_rest。我正在查看此页面上的示例:https ://pub.dartlang.org/packages/shelf_rest
但是我不确定如何连接上面的方法,以便它可以与shelf_rest的路由注释一起使用,比如下面的资源......
...但将在请求/响应表单 AccountResource 之前/之后映射 JSON 以转换为对象。
dart - 在 Dart 中分离级联
我在 Dart 中看到了一些奇怪的行为。我的目标是仅在存在构建/网络目录时才提供静态资产。
1-以下作品:
2-以下不起作用:
问题:场景 1 中的示例运行良好。在第二个示例中,当我添加 fHandler 时,为什么它的关联路由都没有得到处理?
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 服务器的优势在哪里?
dart - 如何在飞镖架-RPC服务器中获取客户端IP
我有一个用 Shelf 和 Rpc api 编写的 dart Web 服务应用程序。
我需要在我的 api 方法中检查客户端 Ip,但我不知道如何。
上下文方法不包含 HttpRequest .contentInfo 属性。
此外,货架 Request 对象也不包含它,因此中间件功能也没有用。
有人对如何解决这个问题有想法吗?
unit-testing - 使用 dart 的shelf_rest 进行单元测试
我正在尝试测试在shelf_rest上运行的Dart REST 应用程序。假设设置类似于shelf_rest
示例,如何在不实际运行 HTTP 服务器的情况下测试配置的路由?
在不涉及太多额外逻辑的情况下,如何对 GETaccount
端点进行单元测试?我想运行的一些基本测试是:
GET /accounts/123
返回 200GET /accounts/bogus
返回 404
server - Angular Dart - 如何为 Angular Dart 应用程序创建代理服务器?
我想为我的 angular-dart 应用程序创建一个代理服务器,index.html
每当我刷新浏览器并且路由与 root 不同时,它都会将我重定向到。例如,如果 url 是:http://localhost:8080/users
并且我点击了刷新按钮,我想被重定向到http://localhost:8080
or http://localhost:8080/index.html
。
此外,能够连接到第三方服务器应用程序将非常有用。换句话说,我想运行pub serve
和运行第三方服务器(python、php 或 java)localhost:9000