aspera-cli 4.18.0 → 4.18.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +3 -2
- data/CHANGELOG.md +10 -0
- data/README.md +96 -59
- data/examples/build_package.sh +28 -0
- data/lib/aspera/agent/alpha.rb +4 -4
- data/lib/aspera/agent/connect.rb +3 -4
- data/lib/aspera/agent/httpgw.rb +1 -1
- data/lib/aspera/api/httpgw.rb +4 -1
- data/lib/aspera/api/node.rb +110 -77
- data/lib/aspera/ascp/products.rb +1 -1
- data/lib/aspera/cli/extended_value.rb +27 -14
- data/lib/aspera/cli/formatter.rb +11 -10
- data/lib/aspera/cli/main.rb +11 -11
- data/lib/aspera/cli/manager.rb +99 -84
- data/lib/aspera/cli/plugin.rb +2 -5
- data/lib/aspera/cli/plugins/aoc.rb +15 -14
- data/lib/aspera/cli/plugins/config.rb +20 -19
- data/lib/aspera/cli/plugins/faspex.rb +5 -4
- data/lib/aspera/cli/plugins/faspex5.rb +16 -13
- data/lib/aspera/cli/plugins/node.rb +46 -38
- data/lib/aspera/cli/plugins/orchestrator.rb +3 -2
- data/lib/aspera/cli/plugins/preview.rb +1 -1
- data/lib/aspera/cli/plugins/server.rb +1 -1
- data/lib/aspera/cli/special_values.rb +13 -0
- data/lib/aspera/cli/sync_actions.rb +4 -4
- data/lib/aspera/cli/transfer_agent.rb +2 -2
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/environment.rb +64 -4
- data/lib/aspera/oauth/web.rb +2 -2
- data/lib/aspera/rest.rb +46 -15
- data.tar.gz.sig +0 -0
- metadata +4 -3
- metadata.gz.sig +0 -0
- data/lib/aspera/open_application.rb +0 -69
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98185fd9f823fc0d85ebf7183d5c88cf6e0aac7cafd8325802bfa0724c52ddf4
|
4
|
+
data.tar.gz: 848811c07aa60060cae1320cd0512e72a73bb78fee9e1837245ef856af3883de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ede08e6e6c6ce3ef33d0c402730ee1854b5d0364da3d47ef736f0e7680a9f8cc1098316fe5945c15aab98ed931c26dd625ea7fb9673e70068dfd2755bb7a053a
|
7
|
+
data.tar.gz: 1bf901163167844fbada435d0cbac759075b51e9f2da22f6f2b97e99be53c202d69e83ec38f0ee4cade3f937a29c502e22e75ac4452b5e0bb426b0fafa7d883c
|
checksums.yaml.gz.sig
CHANGED
@@ -1,2 +1,3 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
|
2
|
+
��� ��C��^����2���Bm��Y��.{�I}�_��I�^�0<8#��4���Fn��q�u*�O�9J�f:��rl�`��Ifفaߣ}8����V"z��0JX���Ġ�Ad���6�?���b��� F��=@�*Ϩ�]Rc���z
|
3
|
+
�a��P�pXw�4ׅ��7��C��������ӳU�0��vԟ�m���d��N�?�T2�����wxjn��oZGf�,�o��F�i1��Wޕ�=D�Y�IKc�j%އ�7x`O��Ąy�o.��{���VS!��a��nsN�|��}���n�c�V�Ά��x��pɗ>�`���Rl,[,Ϥ������.V�U#6.e|���<��dWdcַ�)n]� %G5
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Changes (Release notes)
|
2
2
|
|
3
|
+
* 4.18.1
|
4
|
+
* New Features:
|
5
|
+
* none
|
6
|
+
* Issues Fixed:
|
7
|
+
* **global**: #146 (@junkimu) Fix problem on Windows WRT terminal detection
|
8
|
+
* **global**: node gen4 (aoc) browsing through link now follows the link correctly
|
9
|
+
* `shares`: #147 Fix problem for `shares files mkdir`
|
10
|
+
* Breaking Changes:
|
11
|
+
* **global**: Removed option `id`, deprecated since 4.14.0
|
12
|
+
|
3
13
|
* 4.18.0
|
4
14
|
|
5
15
|
* New Features:
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
## Introduction
|
12
12
|
|
13
|
-
Version : 4.18.
|
13
|
+
Version : 4.18.1
|
14
14
|
|
15
15
|
Laurent/2016-2024
|
16
16
|
|
@@ -92,7 +92,7 @@ Once the gem is installed, `ascli` shall be accessible:
|
|
92
92
|
|
93
93
|
```console
|
94
94
|
$ ascli --version
|
95
|
-
4.18.
|
95
|
+
4.18.1
|
96
96
|
```
|
97
97
|
|
98
98
|
### First use
|
@@ -300,52 +300,6 @@ Download the Ruby installer executable from <https://rubyinstaller.org/downloads
|
|
300
300
|
rubyinstaller-devkit-3.2.2-1-x64.exe /silent /currentuser /noicons /dir=C:\aspera-cli
|
301
301
|
```
|
302
302
|
|
303
|
-
Installation without network:
|
304
|
-
|
305
|
-
It is essentially the same procedure, but instead of retrieving files from internet, copy the files from a machine with internet access, and then install from those archives:
|
306
|
-
|
307
|
-
- Download the `exe` Ruby installer from <https://rubyinstaller.org/downloads/>
|
308
|
-
|
309
|
-
```bash
|
310
|
-
v=$(curl -s https://rubyinstaller.org/downloads/|sed -nEe 's|.*(https://.*/releases/download/.*exe).*|\1|p'|head -n 1)
|
311
|
-
curl -o ${v##*/} $v
|
312
|
-
```
|
313
|
-
|
314
|
-
- Create an archive with necessary gems: <https://help.rubygems.org/kb/rubygems/installing-gems-with-no-network>
|
315
|
-
|
316
|
-
```bat
|
317
|
-
gem install aspera-cli -N -i my_gems
|
318
|
-
```
|
319
|
-
|
320
|
-
Zip the files `*.gem` from folder `repo/my_gems`
|
321
|
-
|
322
|
-
- Download the SDK from: <https://ibm.biz/aspera_sdk>
|
323
|
-
|
324
|
-
Create a Zip with all those files, and transfer to the target system.
|
325
|
-
|
326
|
-
Then, on the target system:
|
327
|
-
|
328
|
-
- Unzip the archive
|
329
|
-
- Execute the installer:
|
330
|
-
|
331
|
-
```bat
|
332
|
-
rubyinstaller-devkit-3.2.2-1-x64.exe /silent /currentuser /noicons /dir=C:\aspera-cli
|
333
|
-
```
|
334
|
-
|
335
|
-
- Install the gems:
|
336
|
-
|
337
|
-
```bat
|
338
|
-
gem install --force --local *.gem
|
339
|
-
```
|
340
|
-
|
341
|
-
- Install the SDK
|
342
|
-
|
343
|
-
```bash
|
344
|
-
ascli config ascp install --sdk-url=file:///sdk.zip
|
345
|
-
```
|
346
|
-
|
347
|
-
> **Note:** An example of installation script is provided: [docs/install.bat](docs/install.bat)
|
348
|
-
|
349
303
|
#### macOS: `brew`
|
350
304
|
|
351
305
|
**macOS** come with Ruby.
|
@@ -410,6 +364,26 @@ One can remove all installed gems, for example to start fresh:
|
|
410
364
|
gem uninstall -axI $(ls $(gem env gemdir)/gems/|sed -e 's/-[^-]*$//'|sort -u)
|
411
365
|
```
|
412
366
|
|
367
|
+
#### Linux as simple user
|
368
|
+
|
369
|
+
If you don't have root access, you can install Ruby in your home directory using `rbenv` see [rbenv-installer](https://github.com/rbenv/rbenv-installer#rbenv-installer):
|
370
|
+
|
371
|
+
```bash
|
372
|
+
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
|
373
|
+
```
|
374
|
+
|
375
|
+
Then open a new terminal, or "source" the shell initialization script:
|
376
|
+
|
377
|
+
```bash
|
378
|
+
source ~/.bashrc
|
379
|
+
```
|
380
|
+
|
381
|
+
Then install Ruby:
|
382
|
+
|
383
|
+
```bash
|
384
|
+
rbenv install 3.2.2
|
385
|
+
```
|
386
|
+
|
413
387
|
#### Other Unixes (AIX)
|
414
388
|
|
415
389
|
Ruby is sometimes made available as an installable package through third party providers.
|
@@ -544,7 +518,7 @@ ascli config ascp install
|
|
544
518
|
If a local SDK installation is preferred instead of fetching from internet: one can specify the location of the SDK file:
|
545
519
|
|
546
520
|
```bash
|
547
|
-
curl -Lso sdk.zip https://ibm.biz/
|
521
|
+
curl -Lso sdk.zip https://ibm.biz/aspera_transfer_sdk
|
548
522
|
```
|
549
523
|
|
550
524
|
```bash
|
@@ -574,6 +548,18 @@ Refer to section: [Transfer Agents](#transfer-clients-agents)
|
|
574
548
|
|
575
549
|
> **Note:** No pre-packaged version is provided yet.
|
576
550
|
|
551
|
+
#### Gem files and dependencies
|
552
|
+
|
553
|
+
The sample script: [examples/build_package.sh](examples/build_package.sh) can be used to download all necessary gems and dependencies in a tar gz.
|
554
|
+
|
555
|
+
```console
|
556
|
+
$ ./build_package.sh aspera-cli 4.18.0
|
557
|
+
|
558
|
+
Archive: aspera-cli-4.18.0-gems.tgz
|
559
|
+
```
|
560
|
+
|
561
|
+
#### Unix-like
|
562
|
+
|
577
563
|
A method to build one is provided here:
|
578
564
|
|
579
565
|
The procedure:
|
@@ -595,7 +581,7 @@ ascli --show-config --fields=sdk_url
|
|
595
581
|
- Download the SDK archive from that URL
|
596
582
|
|
597
583
|
```bash
|
598
|
-
curl -Lso sdk.zip https://ibm.biz/
|
584
|
+
curl -Lso sdk.zip https://ibm.biz/aspera_transfer_sdk
|
599
585
|
```
|
600
586
|
|
601
587
|
- Transfer those 2 files to the target system
|
@@ -618,12 +604,48 @@ ascli config ascp install --sdk-url=file:///sdk.zip
|
|
618
604
|
source ~/.rvm/scripts/rvm
|
619
605
|
```
|
620
606
|
|
621
|
-
|
607
|
+
#### Windows
|
608
|
+
|
609
|
+
Installation without network:
|
610
|
+
|
611
|
+
It is essentially the same procedure as installation for Windows with internet, but instead of retrieving files from internet, copy the files from a machine with internet access, and then install from those archives:
|
612
|
+
|
613
|
+
- Download the `exe` Ruby installer from <https://rubyinstaller.org/downloads/>
|
614
|
+
|
615
|
+
```bash
|
616
|
+
v=$(curl -s https://rubyinstaller.org/downloads/|sed -nEe 's|.*(https://.*/releases/download/.*exe).*|\1|p'|head -n 1)
|
617
|
+
curl -o ${v##*/} $v
|
618
|
+
```
|
619
|
+
|
620
|
+
- Create an archive with necessary gems like in previous section
|
621
|
+
|
622
|
+
- Download the SDK from: <https://ibm.biz/aspera_transfer_sdk>
|
623
|
+
|
624
|
+
- Create a Zip with all those files, and transfer to the target system.
|
625
|
+
|
626
|
+
Then, on the target system:
|
627
|
+
|
628
|
+
- Unzip the archive
|
629
|
+
- Execute the installer:
|
630
|
+
|
631
|
+
```bat
|
632
|
+
rubyinstaller-devkit-3.2.2-1-x64.exe /silent /currentuser /noicons /dir=C:\aspera-cli
|
633
|
+
```
|
634
|
+
|
635
|
+
- Install the gems: Extract the gem archive, and then:
|
636
|
+
|
637
|
+
```bat
|
638
|
+
gem install --force --local *.gem
|
639
|
+
```
|
640
|
+
|
641
|
+
- Install the SDK
|
622
642
|
|
623
643
|
```bash
|
624
|
-
|
644
|
+
ascli config ascp install --sdk-url=file:///sdk.zip
|
625
645
|
```
|
626
646
|
|
647
|
+
> **Note:** An example of installation script is provided: [docs/install.bat](docs/install.bat)
|
648
|
+
|
627
649
|
### Container
|
628
650
|
|
629
651
|
The container image is: [`docker.io/martinlaurent/ascli`](https://hub.docker.com/r/docker.io/martinlaurent/ascli).
|
@@ -684,7 +706,7 @@ ascli -v
|
|
684
706
|
```
|
685
707
|
|
686
708
|
```text
|
687
|
-
4.18.
|
709
|
+
4.18.1
|
688
710
|
```
|
689
711
|
|
690
712
|
In order to keep persistency of configuration on the host, you should specify your user's configuration folder as a volume for the container.
|
@@ -1937,8 +1959,8 @@ genkey my_key 4096
|
|
1937
1959
|
image https://eudemo.asperademo.com/wallpaper.jpg
|
1938
1960
|
initdemo
|
1939
1961
|
open
|
1940
|
-
|
1941
|
-
|
1962
|
+
plugins create my_command
|
1963
|
+
plugins list
|
1942
1964
|
preset delete conf_name
|
1943
1965
|
preset initialize conf_name @json:'{"p1":"v1","p2":"v2"}'
|
1944
1966
|
preset list
|
@@ -3032,7 +3054,7 @@ Columns:
|
|
3032
3054
|
| fasp_port | int | Y | Y | Y | Y | Y | Specifies fasp (UDP) port.<br/>(-O {int}) |
|
3033
3055
|
| fasp_url | string | | | | | | Only used in Faspex.<br/>(<ignored>) |
|
3034
3056
|
| file_checksum | string | Y | Y | | | | Enable checksum reporting for transferred files by specifying the hash to use.<br/>Allowed values: sha-512, sha-384, sha-256, sha1, md5, none<br/>(<ignored>) |
|
3035
|
-
| http_fallback | bool<br/>string | Y | Y | Y | Y | Y | When true(1), attempts to perform an HTTP transfer if a FASP transfer cannot be performed.<br/>(-y (conversion){bool}
|
3057
|
+
| http_fallback | bool<br/>string | Y | Y | Y | Y | Y | When true(1), attempts to perform an HTTP transfer if a FASP transfer cannot be performed.<br/>(-y (conversion){bool}\|{string}) |
|
3036
3058
|
| http_fallback_port | int | Y | | | | | Specifies http port when no cipher is used<br/>(-t {int}) |
|
3037
3059
|
| https_fallback_port | int | Y | Y | Y | Y | Y | Specifies https port when cipher is used<br/>(-t {int}) |
|
3038
3060
|
| keepalive | bool | Y | | | | | The session is running in persistent session mode.<br/>(--keepalive) |
|
@@ -3539,7 +3561,7 @@ ascli server upload "faux:///mydir?file=testfile&count=1m&size=0&inc=2&seq=seque
|
|
3539
3561
|
```text
|
3540
3562
|
ascli -h
|
3541
3563
|
NAME
|
3542
|
-
ascli -- a command line tool for Aspera Applications (v4.18.
|
3564
|
+
ascli -- a command line tool for Aspera Applications (v4.18.1)
|
3543
3565
|
|
3544
3566
|
SYNOPSIS
|
3545
3567
|
ascli COMMANDS [OPTIONS] [ARGS]
|
@@ -3570,6 +3592,7 @@ ARGS
|
|
3570
3592
|
OPTIONS: global
|
3571
3593
|
--interactive=ENUM Use interactive input of missing params: [no], yes
|
3572
3594
|
--ask-options=ENUM Ask even optional options: [no], yes
|
3595
|
+
--struct-parser=ENUM Default parser when expected value is a struct: json, ruby
|
3573
3596
|
--format=ENUM Output format: text, nagios, ruby, json, jsonpp, yaml, [table], csv, image
|
3574
3597
|
--output=VALUE Destination for results (String)
|
3575
3598
|
--display=ENUM Output only some information: [info], data, error
|
@@ -3604,7 +3627,6 @@ OPTIONS:
|
|
3604
3627
|
--query=VALUE Additional filter for for some commands (list/delete) (Hash)
|
3605
3628
|
--value=VALUE Value for create, update, list filter (Hash) (deprecated: (4.14) Use positional value for create/modify or option: query for list/delete)
|
3606
3629
|
--property=VALUE Name of property to set (modify operation)
|
3607
|
-
--id=VALUE Resource identifier (deprecated: (4.14) Use positional identifier after verb (modify,delete,show))
|
3608
3630
|
--bulk=ENUM Bulk operation (only some): [no], yes
|
3609
3631
|
--bfail=ENUM Bulk operation error handling: no, [yes]
|
3610
3632
|
-N, --no-default Do not load default configuration for plugin
|
@@ -5019,6 +5041,9 @@ files browse /
|
|
5019
5041
|
files browse / --url=my_private_link
|
5020
5042
|
files browse / --url=my_public_link_folder_no_pass
|
5021
5043
|
files browse / --url=my_public_link_folder_pass --password=my_public_link_password
|
5044
|
+
files browse my_remote_file
|
5045
|
+
files browse my_remote_folder
|
5046
|
+
files browse my_remote_folder/
|
5022
5047
|
files delete /testsrc
|
5023
5048
|
files download --transfer=alpha testdst/test_file.bin
|
5024
5049
|
files download --transfer=connect testdst/test_file.bin
|
@@ -5389,7 +5414,7 @@ Example:
|
|
5389
5414
|
- `ascli node browse /` : list files with **gen3/node user** API
|
5390
5415
|
- `ascli node access_key do self browse /` : list files with **gen4/access key** API
|
5391
5416
|
|
5392
|
-
|
5417
|
+
#### Browse
|
5393
5418
|
|
5394
5419
|
Native API parameters can be placed in option `query`.
|
5395
5420
|
|
@@ -6337,6 +6362,14 @@ Then, the postprocessing script executed will be `script1.sh`.
|
|
6337
6362
|
|
6338
6363
|
Environment variables at set to the values provided by the web hook which are the same as Faspex 4 postprocessing.
|
6339
6364
|
|
6365
|
+
### Faspex 5: Missing commands
|
6366
|
+
|
6367
|
+
If a command is missing, then it is still possible to execute command by calling directly the API on the command line using `curl`:
|
6368
|
+
|
6369
|
+
```bash
|
6370
|
+
curl -H "Authorization: $(ascli ascli bearer)" https://faspex5.example.com/aspera/faspex/api/v5/api_endpoint_here
|
6371
|
+
```
|
6372
|
+
|
6340
6373
|
## Plugin: `faspex`: IBM Aspera Faspex v4
|
6341
6374
|
|
6342
6375
|
> **Note:** For full details on Faspex API, refer to: [Reference on Developer Site](https://developer.ibm.com/apis/catalog/?search=faspex)
|
@@ -6573,9 +6606,11 @@ admin user ldap add the_name
|
|
6573
6606
|
admin user local list
|
6574
6607
|
admin user saml import @json:'{"id":"the_id","name_id":"the_name"}'
|
6575
6608
|
files browse /
|
6609
|
+
files delete my_share1/new_folder
|
6576
6610
|
files delete my_share1/test_file.bin
|
6577
6611
|
files download --to-folder=. my_share1/test_file.bin
|
6578
6612
|
files download --to-folder=. my_share1/test_file.bin --transfer=httpgw --transfer-info=@json:'{"url":"https://tst.example.com/path@"}'
|
6613
|
+
files mkdir my_share1/new_folder
|
6579
6614
|
files upload --to-folder=https://shares.share1 'faux:///testfile?1m' --transfer=httpgw --transfer-info=@json:'{"url":"my_example.com/path@","synchronous":true,"api_version":"v1","upload_chunk_size":100000}'
|
6580
6615
|
files upload --to-folder=my_share1 test_file.bin
|
6581
6616
|
files upload --to-folder=my_share1 test_file.bin --transfer=httpgw --transfer-info=@json:'{"url":"https://tst.example.com/path@"}'
|
@@ -6749,6 +6784,8 @@ health
|
|
6749
6784
|
> **Note:** Add `ascli faspio` in front of the commands:
|
6750
6785
|
|
6751
6786
|
```bash
|
6787
|
+
bridges create @json:'{"name":"test1","local":{"protocol":"tcp","tls_enabled":false,"port":"3000","bind_address":"127.0.0.1"},"forward":{"protocol":"fasp","tls_enabled":false,"port":"3994","bind_address":"127.0.0.1","host":["10.0.0.1"]}}'
|
6788
|
+
bridges delete --bulk=yes @json:@stdin:
|
6752
6789
|
bridges list
|
6753
6790
|
health
|
6754
6791
|
```
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# Usage: ./build_package.sh <gem_name> <gem_version>
|
3
|
+
# Example: ./build_package.sh aspera-cli 4.18.0
|
4
|
+
set -e
|
5
|
+
if [ "$#" -ne 2 ]; then
|
6
|
+
echo "Usage: $0 <gem_name> <gem_version>"
|
7
|
+
exit 1
|
8
|
+
fi
|
9
|
+
gem_name=$1
|
10
|
+
gem_version=$2
|
11
|
+
# on macOS, GNU tar is gtar
|
12
|
+
GNU_TAR=tar
|
13
|
+
if [ "$(uname)" == "Darwin" ]; then
|
14
|
+
GNU_TAR=gtar
|
15
|
+
fi
|
16
|
+
# temp folder to install gems
|
17
|
+
tmp_dir_install=.tmp_install
|
18
|
+
# clean, if there were left overs
|
19
|
+
rm -fr $tmp_dir_install
|
20
|
+
# retrieve list of necessary gems
|
21
|
+
echo "Getting gems $gem_name $gem_version"
|
22
|
+
# install gems in a temporary folder
|
23
|
+
gem install $gem_name:$gem_version --no-document --install-dir $tmp_dir_install
|
24
|
+
archive=$gem_name-$gem_version-gems.tgz
|
25
|
+
# .gem files are located in cache folder
|
26
|
+
$GNU_TAR -zcf $archive --directory=$tmp_dir_install/cache/. .
|
27
|
+
rm -fr $tmp_dir_install
|
28
|
+
echo "Archive: $archive"
|
data/lib/aspera/agent/alpha.rb
CHANGED
@@ -4,7 +4,7 @@ require 'aspera/agent/base'
|
|
4
4
|
require 'aspera/rest'
|
5
5
|
require 'aspera/log'
|
6
6
|
require 'aspera/json_rpc'
|
7
|
-
require 'aspera/
|
7
|
+
require 'aspera/environment'
|
8
8
|
require 'securerandom'
|
9
9
|
|
10
10
|
module Aspera
|
@@ -22,7 +22,7 @@ module Aspera
|
|
22
22
|
@application_id = SecureRandom.uuid
|
23
23
|
@xfer_id = nil
|
24
24
|
super(**base_options)
|
25
|
-
raise 'Using client requires a graphical environment' if !
|
25
|
+
raise 'Using client requires a graphical environment' if !Environment.default_gui_mode.eql?(:graphical)
|
26
26
|
method_index = 0
|
27
27
|
begin
|
28
28
|
# curl 'http://127.0.0.1:33024/' -X POST -H 'content-type: application/json' --data-raw '{"jsonrpc":"2.0","params":[],"id":999999,"method":"rpc.discover"}'
|
@@ -36,8 +36,8 @@ module Aspera
|
|
36
36
|
method_index += 1
|
37
37
|
raise StandardError, "Unable to start #{APP_NAME} #{method_index} times" if start_url.nil?
|
38
38
|
Log.log.warn{"#{APP_NAME} is not started (#{e}). Trying to start it ##{method_index}..."}
|
39
|
-
if !
|
40
|
-
|
39
|
+
if !Environment.open_uri_graphical(start_url)
|
40
|
+
Environment.open_uri_graphical('https://www.ibm.com/aspera/connect/')
|
41
41
|
raise StandardError, "#{APP_NAME} is not installed"
|
42
42
|
end
|
43
43
|
sleep(SLEEP_SEC_BETWEEN_RETRY)
|
data/lib/aspera/agent/connect.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require 'aspera/agent/base'
|
4
4
|
require 'aspera/rest'
|
5
|
-
require 'aspera/open_application'
|
6
5
|
require 'securerandom'
|
7
6
|
|
8
7
|
module Aspera
|
@@ -18,7 +17,7 @@ module Aspera
|
|
18
17
|
@connect_settings = {
|
19
18
|
'app_id' => SecureRandom.uuid
|
20
19
|
}
|
21
|
-
raise 'Using connect requires a graphical environment' if !
|
20
|
+
raise 'Using connect requires a graphical environment' if !Environment.default_gui_mode.eql?(:graphical)
|
22
21
|
method_index = 0
|
23
22
|
begin
|
24
23
|
connect_url = Ascp::Products.connect_uri
|
@@ -34,8 +33,8 @@ module Aspera
|
|
34
33
|
method_index += 1
|
35
34
|
raise StandardError, "Unable to start connect #{method_index} times" if start_url.nil?
|
36
35
|
Log.log.warn{"Aspera Connect is not started (#{e}). Trying to start it ##{method_index}..."}
|
37
|
-
if !
|
38
|
-
|
36
|
+
if !Environment.open_uri_graphical(start_url)
|
37
|
+
Environment.open_uri_graphical('https://www.ibm.com/aspera/connect/')
|
39
38
|
raise StandardError, 'Connect is not installed'
|
40
39
|
end
|
41
40
|
sleep(SLEEP_SEC_BETWEEN_RETRY)
|
data/lib/aspera/agent/httpgw.rb
CHANGED
@@ -50,7 +50,7 @@ module Aspera
|
|
50
50
|
super(**base_options)
|
51
51
|
@gw_api = Api::Httpgw.new(
|
52
52
|
# remove /v1 from end of user-provided GW url: we need the base url only
|
53
|
-
url: url
|
53
|
+
url: url,
|
54
54
|
api_version: api_version,
|
55
55
|
upload_chunk_size: upload_chunk_size,
|
56
56
|
synchronous: synchronous,
|
data/lib/aspera/api/httpgw.rb
CHANGED
@@ -310,11 +310,14 @@ module Aspera
|
|
310
310
|
notify_cb: nil,
|
311
311
|
**opts
|
312
312
|
)
|
313
|
+
Log.log.debug{Log.dump(:gw_url, url)}
|
313
314
|
# add scheme if missing
|
314
315
|
url = "https://#{url}" unless url.match?(%r{^[a-z]{1,6}://})
|
315
316
|
raise 'GW URL shall be with scheme https' unless url.start_with?('https://')
|
316
|
-
# remove trailing slash and version if
|
317
|
+
# remove trailing slash and version (o=only once) if present
|
318
|
+
# TODO: issue warning ?
|
317
319
|
url = url.gsub(%r{/+$}, '').gsub(%r{/#{API_V1}$}o, '')
|
320
|
+
# assume GW is always under specific path (TODO: remove this ?)
|
318
321
|
url = File.join(url, DEFAULT_BASE_PATH) unless url.end_with?(DEFAULT_BASE_PATH)
|
319
322
|
@gw_root_url = url
|
320
323
|
super(base_url: "#{@gw_root_url}/#{API_V1}", **opts)
|