Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-2055

Investigate: What is the correct and useful user agent string for IGB to use?

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      When IGB contacts a resource, IGB should identify itself in useful ways.
      For example, if an IGB instance hits an App Store and tries to download a jar or other resource, we could configure our S3 to reply to IGB only, using the user-agent to determine if the client is IGB or not.
      Investigate:
      Can we include this information in the HTTP header somehow?
      Is IGB currently using a user agent string?
      Investigate:
      What headers is IGB using currently?
      Use Postman to "spy on" network traffic coming to and from IGB. Report back here.

      Investigate:

      • What is the convention for an application?
        For example, would it be considered weird or uncool to add a commit hash, e.g,
        IGB/9.0.1/#####? What about an API key or something that gets decided programmatically when a user downloads and installs IGB?
      • How much control do we have over the header?

        Attachments

          Issue Links

            Activity

            Hide
            ann.loraine Ann Loraine added a comment - - edited

            You can set up Postman to act as a proxy server:
            https://learning.getpostman.com/docs/postman/sending_api_requests/capturing_http_requests/

            However, instead of entering the IP of your computer, just use 127.0.0.1 for "locahost"

            Then, to get IGB to use your localhost as a proxy server, run it from the command line passing these options:

            • java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=5555 -jar igb_exe.jar
            Show
            ann.loraine Ann Loraine added a comment - - edited You can set up Postman to act as a proxy server: https://learning.getpostman.com/docs/postman/sending_api_requests/capturing_http_requests/ However, instead of entering the IP of your computer, just use 127.0.0.1 for "locahost" Then, to get IGB to use your localhost as a proxy server, run it from the command line passing these options: java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=5555 -jar igb_exe.jar
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            I did the above in order to run IGB 9.1 - built on my local.

            The user agent was:

            • IGB/9.1.0; Mac OS X/10.13.6 (x86_64); en_US; Java/1.8.0_172

            It turns out that when IGB is run this way, it tries to hit this URL - which does not exist.

            I wonder if this is happening also with the versions of IGB we package for release with Install4J. Let's check.

            Edit: Created new issue for above: IGBF-2056

            Show
            ann.loraine Ann Loraine added a comment - - edited I did the above in order to run IGB 9.1 - built on my local. The user agent was: IGB/9.1.0; Mac OS X/10.13.6 (x86_64); en_US; Java/1.8.0_172 It turns out that when IGB is run this way, it tries to hit this URL - which does not exist. http://reporting.bioviz.org/org.amdatu.remote.discovery.configured I wonder if this is happening also with the versions of IGB we package for release with Install4J. Let's check. Edit: Created new issue for above: IGBF-2056
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            There was a problem with run_igb.sh and how it was capturing JVM (java property) arguments, which blocked using run_igb.sh to configure a proxy server.
            It was expecting such arguments to be indicated with -J instead of -D.
            I changed that.
            I'm worried about why it was -J, however.
            The run_igb.sh file had not been modified since 2009.
            Did JVM's in previous versions of java expect -J instead of -D?
            I pushed the change as part of IGBF-2052.
            Will make a note to test the Linux installers once IGBF-2052 is merged into master.

            Show
            ann.loraine Ann Loraine added a comment - - edited There was a problem with run_igb.sh and how it was capturing JVM (java property) arguments, which blocked using run_igb.sh to configure a proxy server. It was expecting such arguments to be indicated with -J instead of -D. I changed that. I'm worried about why it was -J, however. The run_igb.sh file had not been modified since 2009. Did JVM's in previous versions of java expect -J instead of -D? I pushed the change as part of IGBF-2052 . Will make a note to test the Linux installers once IGBF-2052 is merged into master.
            Hide
            ann.loraine Ann Loraine added a comment -

            Decided not to overload header with more than the basics to minimize network traffic.

            Show
            ann.loraine Ann Loraine added a comment - Decided not to overload header with more than the basics to minimize network traffic.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            IGB 9.1.10 user agent:
            IGB/9.1.10; Mac OS X/10.13.6 (x86_64); en_US; Java/1.8.0_172

            Show
            ann.loraine Ann Loraine added a comment - - edited IGB 9.1.10 user agent: IGB/9.1.10; Mac OS X/10.13.6 (x86_64); en_US; Java/1.8.0_172

              People

              • Assignee:
                ann.loraine Ann Loraine
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: