From a2375538cb197e5c593dc767b35449700f2ecae5 Mon Sep 17 00:00:00 2001 From: Nadeshiko Manju Date: Mon, 23 Oct 2023 16:56:19 +0800 Subject: [PATCH] refactor(services/http): Migrate http task to new behavior test planner (#3362) * refactor(services/http): Migrate http task to new behavior test planner Signed-off-by: Manjusaka * remove file Signed-off-by: Manjusaka * Update code Signed-off-by: Manjusaka * Update licenserc.toml --------- Signed-off-by: Manjusaka --- .github/services/http/caddy/action.yml | 34 + .github/services/http/nginx/action.yml | 34 + .github/workflows/service_test_http.yml | 104 -- fixtures/data/normal_dir/.gitkeep | 0 fixtures/data/normal_file.txt | 1041 +++++++++++++++++ .../special_dir !@#$%^&()_+-=;',/.gitkeep | 0 .../data/special_file !@#$%^&()_+-=;',.txt | 1041 +++++++++++++++++ fixtures/http/Caddyfile | 11 + fixtures/http/docker-compose-caddy.yml | 26 + fixtures/http/docker-compose-nginx.yml | 26 + fixtures/http/nginx.conf | 2 +- licenserc.toml | 1 + 12 files changed, 2215 insertions(+), 105 deletions(-) create mode 100644 .github/services/http/caddy/action.yml create mode 100644 .github/services/http/nginx/action.yml delete mode 100644 .github/workflows/service_test_http.yml create mode 100644 fixtures/data/normal_dir/.gitkeep create mode 100644 fixtures/data/normal_file.txt create mode 100644 fixtures/data/special_dir !@#$%^&()_+-=;',/.gitkeep create mode 100644 fixtures/data/special_file !@#$%^&()_+-=;',.txt create mode 100644 fixtures/http/Caddyfile create mode 100644 fixtures/http/docker-compose-caddy.yml create mode 100644 fixtures/http/docker-compose-nginx.yml diff --git a/.github/services/http/caddy/action.yml b/.github/services/http/caddy/action.yml new file mode 100644 index 000000000000..f3c03a8d4e6e --- /dev/null +++ b/.github/services/http/caddy/action.yml @@ -0,0 +1,34 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: caddy +description: 'Behavior test for http service in caddy' + +runs: + using: "composite" + steps: + - name: Setup etcd cluster + shell: bash + working-directory: fixtures/http + run: docker-compose -f docker-compose-caddy.yml up -d + - name: Setup + shell: bash + run: | + cat << EOF >> $GITHUB_ENV + OPENDAL_HTTP_ENDPOINT=http://127.0.0.1:8080 + OPENDAL_DISABLE_RANDOM_ROOT=true + EOF \ No newline at end of file diff --git a/.github/services/http/nginx/action.yml b/.github/services/http/nginx/action.yml new file mode 100644 index 000000000000..9a735bafc71e --- /dev/null +++ b/.github/services/http/nginx/action.yml @@ -0,0 +1,34 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: nginx +description: 'Behavior test for http service in nginx' + +runs: + using: "composite" + steps: + - name: Setup etcd cluster + shell: bash + working-directory: fixtures/http + run: docker-compose -f docker-compose-nginx.yml up -d + - name: Setup + shell: bash + run: | + cat << EOF >> $GITHUB_ENV + OPENDAL_HTTP_ENDPOINT=http://127.0.0.1:8080 + OPENDAL_DISABLE_RANDOM_ROOT=true + EOF \ No newline at end of file diff --git a/.github/workflows/service_test_http.yml b/.github/workflows/service_test_http.yml deleted file mode 100644 index e8e4607c78a8..000000000000 --- a/.github/workflows/service_test_http.yml +++ /dev/null @@ -1,104 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -name: Service Test HTTP - -on: - push: - branches: - - main - pull_request: - branches: - - main - paths: - - "core/src/**" - - "core/tests/**" - - "!core/src/docs/**" - - "!core/src/services/**" - - "core/src/services/http/**" - - ".github/workflows/service_test_http.yml" - - "fixtures/http/**" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - nginx: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Start nginx - shell: bash - working-directory: core - run: | - mkdir /tmp/static - cp -r tests/data/* /tmp/static - cd .. - nginx -c `pwd`/fixtures/http/nginx.conf - - - name: Setup Rust toolchain - uses: ./.github/actions/setup - with: - need-nextest: true - - - name: Test - shell: bash - working-directory: core - run: cargo nextest run behavior - env: - OPENDAL_TEST: http - OPENDAL_HTTP_ENDPOINT: http://127.0.0.1:8080 - OPENDAL_DISABLE_RANDOM_ROOT: true - - caddy: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - ubuntu-latest - steps: - - uses: actions/checkout@v4 - - # caddy 2.5.2 can't pass our test cases for https://github.com/caddyserver/caddy/issues/4923 - # Use the latest beta version instead - - name: Start caddy - shell: bash - working-directory: core - run: | - VERSION="2.6.0-beta.3" - - curl -sSL https://github.com/caddyserver/caddy/releases/download/v${VERSION}/caddy_${VERSION}_linux_amd64.tar.gz -o caddy_linux_amd64.tar.gz - tar -xvf caddy_linux_amd64.tar.gz - - mkdir /tmp/static - cp -r tests/data/* /tmp/static - ./caddy file-server --root /tmp/static --listen 127.0.0.1:8080 --access-log & - - - name: Setup Rust toolchain - uses: ./.github/actions/setup - with: - need-nextest: true - - name: Test - shell: bash - working-directory: core - run: cargo nextest run behavior - env: - OPENDAL_TEST: http - OPENDAL_HTTP_ENDPOINT: http://127.0.0.1:8080 - OPENDAL_DISABLE_RANDOM_ROOT: true diff --git a/fixtures/data/normal_dir/.gitkeep b/fixtures/data/normal_dir/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/fixtures/data/normal_file.txt b/fixtures/data/normal_file.txt new file mode 100644 index 000000000000..9f37f432f4f8 --- /dev/null +++ b/fixtures/data/normal_file.txt @@ -0,0 +1,1041 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. diff --git a/fixtures/data/special_dir !@#$%^&()_+-=;',/.gitkeep b/fixtures/data/special_dir !@#$%^&()_+-=;',/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/fixtures/data/special_file !@#$%^&()_+-=;',.txt b/fixtures/data/special_file !@#$%^&()_+-=;',.txt new file mode 100644 index 000000000000..9f37f432f4f8 --- /dev/null +++ b/fixtures/data/special_file !@#$%^&()_+-=;',.txt @@ -0,0 +1,1041 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. +OpenDAL: access data freely. diff --git a/fixtures/http/Caddyfile b/fixtures/http/Caddyfile new file mode 100644 index 000000000000..2c5729aafe43 --- /dev/null +++ b/fixtures/http/Caddyfile @@ -0,0 +1,11 @@ +{ + http_port 8080 +} + +:8080 { + root * /tmp/static + file_server + log { + output stdout + } +} \ No newline at end of file diff --git a/fixtures/http/docker-compose-caddy.yml b/fixtures/http/docker-compose-caddy.yml new file mode 100644 index 000000000000..b149d0c2f3f0 --- /dev/null +++ b/fixtures/http/docker-compose-caddy.yml @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +version: '3.8' +services: + caddy: + image: caddy:latest + ports: + - 8080:8080 + volumes: + - ../data:/tmp/static + - ./Caddyfile:/etc/caddy/Caddyfile \ No newline at end of file diff --git a/fixtures/http/docker-compose-nginx.yml b/fixtures/http/docker-compose-nginx.yml new file mode 100644 index 000000000000..73343e23ad54 --- /dev/null +++ b/fixtures/http/docker-compose-nginx.yml @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +version: '3.8' +services: + nginx: + image: nginx:latest + ports: + - 8080:8080 + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - ../data:/tmp/static \ No newline at end of file diff --git a/fixtures/http/nginx.conf b/fixtures/http/nginx.conf index 4d36830b20a6..c3105bf882e5 100644 --- a/fixtures/http/nginx.conf +++ b/fixtures/http/nginx.conf @@ -7,7 +7,7 @@ events { http { server { - listen 127.0.0.1:8080; + listen 0.0.0.0:8080; server_name localhost; access_log /tmp/access.log; root /tmp/static; diff --git a/licenserc.toml b/licenserc.toml index af50cef8fa4a..53882a6b2ca7 100644 --- a/licenserc.toml +++ b/licenserc.toml @@ -38,6 +38,7 @@ excludes = [ # Test files "**/tests/data/**", + "**/fixtures/data/**", # Third-party source files "scripts/merge_local_staging.sh",