0

I am getting Error from server: 500 when using addURLWhiteList in browsermob-proxy-api module.I am using Node JS and protractor. I would like to generate information from only relevant URLs as the size of the HAR file generated will become too big if all the third party services traffic is included in the HAR file too. Here is my code:-

(conf.js)

    /* global exports, require, jasmine, browser */

var Proxy = require('browsermob-proxy-api'),  
Q = require('q');


exports.config = {
  chromeOnly: true,

  capabilities: {
    browserName: 'chrome',
    proxy: {
      proxyType: 'manual',
      httpProxy: 'localhost:8888',
      sslProxy: 'localhost:8888'
    }
  },

  specs: ['abcd'],

  onPrepare: function () {


    (spec.js)
/* global describe, beforeEach, afterEach, it, console, browser, element, expect
 */

var fs = require('fs');

var date = new Date();

describe('Angular Homepage', function () {
  beforeEach(function (done) {
    console.log('beforeEach');
    console.log('browser.params.proxy', browser.params.proxy);
    console.log('browser.params.proxyData', browser.params.proxyData);

    browser.params.proxy.createHAR(8888, { 'initialPageRef': 'foo', 'captureContent': 'true' });
    browser.params.proxy.addURLWhiteList(8888, 'http://abcd.com',function (err) {
       if(err) {
         return console.log("white list error" + err);
     }

     });
  });

  afterEach(function (done) {

    console.log('afterEach');
    browser.params.proxy.getHAR(8888, function (err, harData) {
    //  console.log('harData', harData);
fs.writeFile("C:\Protractor\p1" + Date.now() + ".har", harData, function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");
}); 
      done();
    });
  });   

now when I run this code, I am getting this error from addURLWhiteList method.

onPrepare
data { port: 8888 }
arguments { '0': { port: 8888 } }
Started
beforeEach
browser.params.proxy { host: 'localhost',
  port: 8080,
  proxyPort: null,
  selHost: 'localhost',
  selPort: 4444,
  downstreamKbps: undefined,
  upstreamKbps: undefined,
  latency: undefined }
browser.params.proxyData { port: 8888 }
white list errorError: Error from server: 500


[INFO  2018-04-10T10:52:32,758 org.littleshoot.proxy.impl.DefaultHttpProxyServer] (qtp864852424-16) Proxy started at address: /0:0:0:0:0:0:0:0:8888
[WARN  2018-04-10T10:52:32,975 org.eclipse.jetty.util.log] (qtp864852424-21) /proxy/8888/whitelist com.google.sitebricks.routing.EventDispatchException: Exception [NullPointerException - "null"] thrown by event method [public com.google.sitebricks.headless.Reply net.lightbody.bmp.proxy.bricks.ProxyResource.whitelist(int,com.google.sitebricks.headless.Request)]

at net.lightbody.bmp.proxy.bricks.ProxyResource.whitelist(ProxyResource.java:243)
(See below for entire trace.)

        at com.google.sitebricks.routing.DefaultPageBook$MethodTuple.call(DefaultPageBook.java:830) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.routing.DefaultPageBook$MethodTuple.call(DefaultPageBook.java:805) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.routing.DefaultPageBook$PageTuple.callAction(DefaultPageBook.java:624) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.routing.DefaultPageBook$PageTuple.doMethod(DefaultPageBook.java:603) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.routing.WidgetRoutingDispatcher.fireEvent(WidgetRoutingDispatcher.java:171) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.routing.WidgetRoutingDispatcher.bindAndReply(WidgetRoutingDispatcher.java:102) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.routing.WidgetRoutingDispatcher.dispatch(WidgetRoutingDispatcher.java:88) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.DebugModeRoutingDispatcher.dispatch(DebugModeRoutingDispatcher.java:56) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.SitebricksFilter.doFilter(SitebricksFilter.java:62) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.sitebricks.HiddenMethodFilter.doFilter(HiddenMethodFilter.java:70) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) ~[browsermob-dist-2.1.4.jar:?]
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) ~[browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) ~[browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:474) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:935) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:404) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:870) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.Server.handle(Server.java:346) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1068) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:807) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:220) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:520) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) [browsermob-dist-2.1.4.jar:?]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528) [browsermob-dist-2.1.4.jar:?]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
        at com.google.sitebricks.routing.DefaultPageBook$MethodTuple.call(DefaultPageBook.java:820) ~[browsermob-dist-2.1.4.jar:?]
        ... 34 more
Caused by: java.lang.NullPointerException
        at net.lightbody.bmp.proxy.bricks.ProxyResource.whitelist(ProxyResource.java:243) ~[browsermob-dist-2.1.4.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
        at com.google.sitebricks.routing.DefaultPageBook$MethodTuple.call(DefaultPageBook.java:820) ~[browsermob-dist-2.1.4.jar:?]
        ... 34 more

[WARN  2018-04-10T10:52:37,154 net.lightbody.bmp.filters.ServerResponseCaptureFilter] (LittleProxy-0-ProxyToServerWorker-5) Cannot decode unsupported content encoding type br
[WARN  2018-04-10T10:52:37,158 net.lightbody.bmp.filters.HarCaptureFilter] (LittleProxy-0-ProxyToServerWorker-5) Unable to decompress content with encoding: br. Contents will be encoded as base64 binary data.
[WARN  2018-04-10T10:52:37,448 net.lightbody.bmp.filters.HarCaptureFilter] (LittleProxy-0-ProxyToServerWorker-4) No content type specified in response from 
[WARN  2018-04-10T10:52:53,337 net.lightbody.bmp.filters.ServerResponseCaptureFilter] (LittleProxy-0-ProxyToServerWorker-5) Cannot decode unsupported content encoding type br
[WARN  2018-04-10T10:52:53,347 net.lightbody.bmp.filters.HarCaptureFilter] (LittleProxy-0-ProxyToServerWorker-5) Unable to decompress content with encoding: br. Contents will be encoded as base64 binary data.
[WARN  2018-04-10T10:52:57,194 net.lightbody.bmp.filters.HarCaptureFilter] (LittleProxy-0-ProxyToServerWorker-0) No content type specified in response from http://scripts.kissmetrics.com/db61c23bf4bcf1cb3d69837064a4f2ccc6a6c5c3.2.js. Content will be treated as application/octet-stream

I am new at this.Can anyone tell me how can I solve this error?

John Doe
  • 9
  • 2
  • Isn't the answer the same for every HTTP 500 error ever being asked for: "**Look at the log files on your server**"? – Uwe Keim Apr 09 '18 at 10:28
  • I've shared the log, i don't understand whether this is a syntax error or anything else. – John Doe Apr 10 '18 at 10:05

0 Answers0