在下面的代码中,我无法弄清楚为什么req.pipe(res)不起作用,但是也没有抛出错误.预感告诉我这是由于nodejs的异步行为,但这是一个非常简单的情况,没有回调.
我错过了什么?
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('Echo service: \nUrl: ' + req.url);
res.write('\nHeaders:\n' + JSON.stringify(req.headers, true, 2));
res.write('\nBody:\n');
req.pipe(res); // does not work
res.end();
}).listen(8000);
Run Code Online (Sandbox Code Playgroud)
这是卷曲:
? ldap-auth-gateway git:(master) ? curl -v -X POST --data "test.payload" --header "Cookie: token=12345678" --header "Content-Type:text/plain" localhost:9002
Run Code Online (Sandbox Code Playgroud)
这是调试输出(请参阅上传的主体):
About to connect() to localhost port 9002 (#0)
Trying 127.0.0.1...
connected
Connected to localhost (127.0.0.1) port 9002 (#0)
POST / HTTP/1.1
User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8x zlib/1.2.5
Host: localhost:9002
Accept: */*
Cookie: …Run Code Online (Sandbox Code Playgroud) 我有一个带有战争规范的子项目,如下所示:
war {
from('resources') {
include '*.properties'
into 'WEB-INF/classes/'
}
webXml = file('src/main/webapp/WEB-INF/web.xml')
}
Run Code Online (Sandbox Code Playgroud)
效果很好.创建可部署到Tomcat的单个胖战文件.问题是,当部署到TomEE和JBoss时,我遇到了冲突(即使用Javax Servlet,Jersey等).所以我想排除一组罐子的战争.我查看了Gradle war文档,看起来我需要使用排除.我尝试了两种不同的方式,并没有将战争中的罐子排除在外:
war {
// copy properties file in classes so that
// they may be loaded from classpath
from('resources') {
include '*.properties'
into 'WEB-INF/classes/'
}
// specify web xml
webXml = file('src/main/webapp/WEB-INF/web.xml')
// remove jars that conflict with TomEE
exclude '**/javax.inject-1.jar'
exclude '**/javax.servlet-2.5.0.v201103041518.jar'
exclude '**/servlet-api-2.5.jar'
exclude '**/validation-api-1.0.0.GA.jar'
}
Run Code Online (Sandbox Code Playgroud)
这是在github上托管的NetFlix/karyon项目中的子项目(karyon-examples)中.子项目中的依赖项如下所示:
dependencies {
compile 'org.slf4j:slf4j-api:1.7.0'
runtime 'org.slf4j:slf4j-simple:1.7.0'
compile project(':karyon-extensions')
compile project(':karyon-admin-web')
}
Run Code Online (Sandbox Code Playgroud)
我希望避免编辑诸如编译与运行时依赖之类的内容,尤其是在其他文件和子项目中.事实上,我试图在上面排除的罐子在使用码头和常规tomcat运行时是良性的.
我只想在不使构建脚本复杂化的情况下排除这些jar.我错过了什么?
谢谢
我有一个用例需要加载单独的角度应用程序.
基于几个堆栈溢出问题和这个谷歌线程,它是可行的.但是,我无法让它发挥作用.
看文档:
http://docs.angularjs.org/api/angular.bootstrap
看起来你需要提供元素(在元素上获取句柄的正确方法是什么?),然后如何将它与配置,控制器等联系起来.这对路由有何影响?IE如何冲突工作,即app a和app b map/foo分别为/fooa.html和/foob.html ......或者每个应用程序都描述了自己的.otherwise?
谢谢!
无法使用Jersey实现简单的文件上传.缺少应用程序引导时引发的依赖性错误:
The following errors and warnings have been detected with resource and/or provider classes:
SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.foo.MyResource.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 0
SEVERE: Missing dependency for method public javax.ws.rs.core.Response com.foo.MyResource.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 1
SEVERE: Method, public javax.ws.rs.core.Response com.foo.uploadFile(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition), annotated with POST of resource, class com.foo.FS2Resource, is not recognized as valid resource method.
unavailable
com.sun.jersey.spi.inject.Errors$ErrorMessagesException
at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
Run Code Online (Sandbox Code Playgroud)
将输入参数映射到REST服务似乎存在问题?我已阅读文档并遵循了几个示例,我并没有偏离这些示例.
这是代码:
@Path("v1/")
public class FileUploadResource {
@POST
@Path("upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces({MediaType.APPLICATION_JSON})
public Response uploadFile(
@FormDataParam("file") InputStream is, …Run Code Online (Sandbox Code Playgroud) 我想检查Google Chrome(或Chromium)浏览器中的SSL/TLS握手.
我正在寻找与您从其他HTTPS客户端使用这些命令看到的输出类似的输出(仅示例):
? ~ curl -k -v https://foo.com:443 --tlsv1
Run Code Online (Sandbox Code Playgroud)
要么
? ~ openssl s_client -debug -connect foo.com:443 -tls1
Run Code Online (Sandbox Code Playgroud)
我搜索了一下,它看起来不像本机工具(即通过检查元素),插件也没有这种级别的可见性.
我从命令行运行Jetty:
export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n"
gradle jettyRun
Run Code Online (Sandbox Code Playgroud)
并看到:
Listening for transport dt_socket at address: 9999
Run Code Online (Sandbox Code Playgroud)
...然后在IntelliJ Idea(Ultimate 12.1.3)中,我使用所有默认值创建一个新的远程调试配置,仅将端口更改为9999.
当我使用远程配置启动(调试)时,我看到:
Connected to the target VM, address: 'localhost:9999', transport: 'socket'
Run Code Online (Sandbox Code Playgroud)
...这让我觉得一切都按预期工作.
然后我发出应该导致命中断点的请求.但断点从未被触发.
我究竟做错了什么?
谢谢.
范围中定义的JSON数组:
$scope.faq = [
{"Question 1": "Answer1"},
{"Question 2": "Answer2"}
];
Run Code Online (Sandbox Code Playgroud)
HTML:
<div ng-repeat="f in faq">
{{f}}
</div>
Run Code Online (Sandbox Code Playgroud)
输出:
{"Question 1": "Answer1"}
{"Question 2": "Answer2"}
Run Code Online (Sandbox Code Playgroud)
我希望输出看起来像:
Question 1 - Answer1
Question 2 - Answer2
Run Code Online (Sandbox Code Playgroud)
看起来它应该如何工作:
<div ng-repeat="f in faq">
{{f.key}}-{{f.value}}
</div>
Run Code Online (Sandbox Code Playgroud)
......但事实并非如此.
背景: 我们假设为了论证你有100,000个视图(部分).我们还假设您具有视图范围的控制器,以及可能的视图范围的服务和过滤器.尝试设想一个托管100,000个不同的小应用程序的聚合应用程序.
问题: 当你有需要附带控制器的"部分"时,典型的解决方案是做这样的事情:
$routeProvider.when('/app1', {
templateUrl: 'partials/view1.html',
controller: 'controller1'
});
Run Code Online (Sandbox Code Playgroud)
控制器通常从index.html通过以下方式加载:
<script src="js/directives/Controller1.js"></script>
Run Code Online (Sandbox Code Playgroud)
这种方法的问题在于它不能扩展.有动态加载控制器的解决方案,但它们仍然需要在各种配置中添加触摸点.
理想的解决方案: 理想情况下 - 对于数量在000的非常小的应用程序,控制器可以动态加载,也可以从部分内部加载.这将减轻管理多个文件和几个配置触摸点(更不用说网络请求)的需要,并且保持每个部分非常好.
它看起来像这样:
在路由器中:
$routeProvider.when('/apps/:appId', {
templateUrl: 'partials/app-frame.html',
controller: 'AppCtrl'
});
Run Code Online (Sandbox Code Playgroud)
在包含html(app-frame)中包含相对不同的"迷你app":
<h1>Currently hosting {{appId}}</h1><hr>
<div class="ng-include: appUrl"></div>
Run Code Online (Sandbox Code Playgroud)
在使用appUrl进行部分解析时,在一个中定义控制器和标记:
<script>
myApp.controller('controller1', ['$scope', function ($scope) {
$scope.foo = "bar";
}]);
</script>
<div ng-controller="controller1">
{{foo}}
</div>
Run Code Online (Sandbox Code Playgroud)
对于这样的情况,有很多部分和控制器和视图的1-1映射,将两者结合起来以提高开发效率和维护是有意义的.它比使用多个文件和其他配置触摸点更清晰.
问题是,这不起作用.它可能就像在应用指令之前强制加载脚本一样简单......但不知道如何做到这一点?
以下是对该问题的一些类似解释:
https://groups.google.com/forum/#!topic/angular/H4haaMePJU0
来自AngularJS团队的Igor说:
I see.. we looked into supporting script tags in jqlite, but what needs to be done to get a cross-browser support …Run Code Online (Sandbox Code Playgroud) 背景:我有一个gradle项目,我使用jettyRun成功.我希望Jetty立即获取代码更改,而不需要服务器反弹.Gradle支持热部署,我知道我需要做的就是打开"扫描",但我不确定我需要做什么.这是我试过的:
jettyRun {
httpPort = 8989
reload = 'automatic'
scanIntervalSeconds = 2
daemon = false
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
这不是Twitter Bootstrap问题......
我有一个用例需要加载单独的角度应用程序.
基于几个堆栈溢出问题和这个谷歌线程,它是可行的.但是,我无法让它发挥作用.
看文档:
http://docs.angularjs.org/api/angular.bootstrap
看起来你需要提供元素(如何获取元素的句柄?),然后如何将它与配置,控制器等联系起来.这对路由有何影响?似乎一个应用程序使用否则另一个使用否则,第二个将覆盖第一个?
谢谢!