小编Rob*_*ian的帖子

NodeJS - 如何在不缓冲的情况下流请求主体

在下面的代码中,我无法弄清楚为什么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)

http pipe stream node.js epipe

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

Gradle - >如何从WEB-INF/lib中省略一些罐子

我有一个带有战争规范的子项目,如下所示:

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.我错过了什么?

谢谢

java jar war gradle apache-tomee

8
推荐指数
1
解决办法
9397
查看次数

多个Angularjs应用程序(驱动Portlet)

我有一个用例需要加载单独的角度应用程序.

基于几个堆栈溢出问题和这个谷歌线程,它是可行的.但是,我无法让它发挥作用.

看文档:

http://docs.angularjs.org/api/angular.bootstrap

看起来你需要提供元素(在元素上获取句柄的正确方法是什么?),然后如何将它与配置,控制器等联系起来.这对路由有何影响?IE如何冲突工作,即app a和app b map/foo分别为/fooa.html和/foob.html ......或者每个应用程序都描述了自己的.otherwise?

谢谢!

javascript angularjs

8
推荐指数
1
解决办法
6454
查看次数

无法在Jersey中实现简单的文件上传 - "使用POST注释资源,类不被识别为有效的资源方法.不可用"

无法使用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)

java rest jersey

8
推荐指数
1
解决办法
8371
查看次数

在Google Chrome浏览器中解决SSL/TLS握手问题

我想检查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)

我搜索了一下,它看起来不像本机工具(即通过检查元素),插件也没有这种级别的可见性.

ssl https google-chrome chromium google-chrome-devtools

8
推荐指数
1
解决办法
6699
查看次数

在IntelliJ中调试gradle jettyRun

我从命令行运行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)

...这让我觉得一切都按预期工作.

然后我发出应该导致命中断点的请求.但断点从未被触发.

我究竟做错了什么?

谢谢.

debugging remote-debugging jetty intellij-idea gradle

7
推荐指数
2
解决办法
5446
查看次数

如何使用AngularJS输出JSON数组中的元素

范围中定义的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)

......但事实并非如此.

html javascript json angularjs output

7
推荐指数
2
解决办法
3万
查看次数

从模板(视图)中动态加载AngularJS模块

背景: 我们假设为了论证你有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

使用Angular和Compile加载部分页面控制器

来自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)

angularjs angular-routing angular-template

7
推荐指数
1
解决办法
3920
查看次数

如何在Gradle中设置扫描?

背景:我有一个gradle项目,我使用jettyRun成功.我希望Jetty立即获取代码更改,而不需要服务器反弹.Gradle支持热部署,我知道我需要做的就是打开"扫描",但我不确定我需要做什么.这是我试过的:

jettyRun {
    httpPort = 8989
    reload = 'automatic'
    scanIntervalSeconds = 2
    daemon = false 
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

jetty gradle

5
推荐指数
1
解决办法
935
查看次数

angular.bootstrap运行多个角度应用程序

这不是Twitter Bootstrap问题......

我有一个用例需要加载单独的角度应用程序.

基于几个堆栈溢出问题和这个谷歌线程,它是可行的.但是,我无法让它发挥作用.

看文档:

http://docs.angularjs.org/api/angular.bootstrap

看起来你需要提供元素(如何获取元素的句柄?),然后如何将它与配置,控制器等联系起来.这对路由有何影响?似乎一个应用程序使用否则另一个使用否则,第二个将覆盖第一个?

谢谢!

angularjs

5
推荐指数
1
解决办法
3473
查看次数