问题标签 [dart-io]

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 回答
17361 浏览

dart - 使用 headers 和 body 进行 HTTP Post

对,所以我一直在研究需要通过标头进行基本身份验证并通过 HTTP Post 传递一些变量的东西。这是一个终端应用程序。

这就是我的代码的样子:

我使用 httpbin 作为回显服务器,所以它告诉我我在传递什么。如果我不传递正文,或者如果我将字符串作为正文传递,我的代码可以正常工作。

显然这是因为 http.Request 中的 body 属性只接受字符串,而我正在尝试将映射传递给它。

我可以将其转换为字符串,它可能会起作用,但我仍然认为我的代码可以改进。不是从语法的角度来看,也不是从它如何处理未来的角度来看,但我不确定使用 http.dart 是正确的做法。

有人能指出我正确的方向吗?

提前致谢。

0 投票
0 回答
185 浏览

dart - Dart 如何对一个简单的函数进行单元测试

我喜欢你可以在 Dart 中编写干净简洁的代码的方式,但似乎 Dart 是一种易于编写但难以测试的语言!

例如,给定以下相当简单的方法,如何进行单元测试?

您需要以某种方式将new Router()替换为某种返回模拟的工厂方法。然后,当调用serve时,mock 需要返回一个 mock 。然后需要有一个返回模拟流的模拟 transform* 方法……到那时大多数人会放弃!

我已经设法使用上述方法编写了一个单元测试,但由于它需要 80 多行并且用工厂方法污染了实际类,我很难说我对它很满意!

有没有更好的方法来做到这一点?

0 投票
1 回答
1281 浏览

dart - Dart HTTP 服务器和期货

我正在尝试编写简单的 HTTP 服务器来解析 client.getUrl() 的结果。除了我无法写回 http 请求对象(打印到控制台工作正常)之外,我已经完成了所有工作。

相关代码为:

问题是主要功能在我从 Future 获得结果之前结束(通过打印出现在结果之前的第二个“响应关闭”来解决这个问题)。有没有办法在主函数中等待结果?

编辑:它与Dart HttpRequest return future有关, 我将重写我的代码,但如果有办法在 main 函数中等待 getUrl Future,我会更喜欢它。

编辑:我的 loadUrl

最后编辑:这是工作代码

0 投票
1 回答
318 浏览

dart - Dart 语言:GET(网站图标问题)

我有一个在服务器端运行的 Dart 应用程序。它正在侦听特定端口并且工作正常。问题是:我的听众正在响应最喜欢的图标(favicon)的 GET。

我怎样才能避免这种情况?

编辑:给出一些代码示例。

这是这段代码的输出:

1

/SOME_REQUEST_FROM_THE_BROWSER

2

/favicon.ico

0 投票
1 回答
77 浏览

dart - 如何编写 Dart 'worker' 服务器

我想编写一个从 Firebase 队列读取并发送电子邮件的 Dart 服务器。

我不清楚的是如何编写一个服务器来监听 HTTP 请求以外的东西,在我的例子中是一个像这个项目这样的 Firebase 队列。

0 投票
2 回答
393 浏览

dart - 在 dart 中重写请求 URI

在 node.js 中,可以通过执行以下操作来调整请求的 url:

以下在 dart 中失败,因为所有请求属性、Uri 及其路径只有 getter。有什么建议可以实现吗?也许通过创建一个新的 HttpRequest 并将其响应传递给原始请求?

0 投票
1 回答
909 浏览

dart - 使用 Dart,如何使用 Future 正确返回 HttpResponse

我正在尝试创建一个非常简单的 http 服务器来做一件事。收到 HttpRequest 后,它会在本地数据库服务器上运行一个查询,并根据该查询返回一个字符串。

我正在学习 Dart,但我无法掌握 Futures。我以为我理解它们,但这个例子让我相信我真的不知道它们是如何工作的。所以,我不仅在寻找解决这个问题的方法,而且我也很乐意接受任何指示。

注意:这段代码是我一直在尝试完成的一个非常原始的示例,为了联系 Stackoverflow 社区,我尽可能地缩短/简化了它,同时保持问题完好无损。

这是我的 server.dart 代码

因此,如果我向该服务器发送请求,它会返回“START----END”。服务器打印出预期的查询结果,然后打印出“START----END”。这使我相信我的请求响应正在关闭并在查询结果处理完成之前返回。

因此,无论我 curl localhost:9090/asdf 还是实际构建客户端 http 请求发送者,我都没有得到我期望的响应......这是一个数据库查询结果。

提前致谢

0 投票
2 回答
97 浏览

dart - 在 dartium 中使用 'dart:io' ?有什么解决办法吗?

我是飞镖的新手,我正在尝试从文件中读取数据并使用内容来绘制画布。在这样做时,我遇到了“内置库 'dart:io' 在 Dartium 上不可用”的问题。

我了解 Dart 有局限性,因为在浏览器中运行的代码中的 Javascript 无法本地访问正在运行的客户端的文件系统。

同时有没有关于如何读取文件并使用内容将其写入画布的技巧?

提前致谢。

0 投票
1 回答
67 浏览

dart - 如何从路径字符串中判断它是文件还是目录

当我将路径作为字符串时,获取路径是否指向文件或目录的信息的最简单方法是什么。

0 投票
2 回答
1037 浏览

ubuntu - 当命令在 Ubuntu 终端中运行时,为什么 Dart 的“Process.start”不能执行 Ubuntu 命令?

我有命令我想用 Dart 打电话。

sonar-runner如果我在普通的 Ubuntu 终端中运行该命令,它就可以完美运行。这是因为我PATH.profile文件中编辑了它,所以它变成了一个全局命令。

但是,如果我编写了一个应该触发相同事情的简单Process.start代码:

我得到回应:

我猜这是一个 Ubuntu 配置的东西,因为我ping localhost以同样的方式通过 Dart 运行没有问题。

可能是什么问题,以至于第三方应用程序在将其作为新进程运行时无法找到全局命令?

更新 - 找到解决方案

我找到了解决问题的方法,如下所述:

使用 Process.start 设置环境变量

对于我的具体情况,此代码有效: