unzip

/usr/local/m2/setting.json 다음 영역에 대해 기술한다.

{
  "functions": {
    "contents": {
      "unzip": {
        ...
      }
    }
  }
}

How to use

명령어 리스트

압축파일에 대해 용량제한 없는 추출을 지원한다.

# 압축파일을 브라우징한다.
https://example.com/src.zip/unzip/directory

# 압축파일을 추출한다.
https://example.com/src.zip/unzip/files/readme.txt
https://example.com/src.zip/unzip/files/photo/001.jpg

# 압축파일을 instant 방식으로 추출한다.
https://example.com/src.zip/unzip/extract/mode=instant/files/readme.txt

명령어

파라미터

동작

directory

없음

압축된 파일목록을 JSON 형식으로 제공한다.

files

파일경로

추출할 파일경로

Note

files 명령어는 항상 맨 뒤에 위치시킬 것을 권장한다. 왜냐하면 파일경로의 디렉토리명이 다른 명령어와 겹치는 경우 오동작 우려가 있기 때문이다.

Note

extract 명령어는 extract 설정을 오버라이딩할 뿐 독자적으로 동작하지 않는다.

meta

"meta" : {
  "enable": false,
  "keyword": "unzip"
}
enable (기본: false)

unzip 활성화

keyword (기본: unzip)

키워드

extract

"extract" : {
  "mode": "indexing"
}
mode (기본: indexing)

파일 추출방식

  • indexing (기본) 모든 압축파일 정보를 최초 1회 인덱싱한 뒤 이에 기반해 파일 추출을 진행한다. 이때 모든 원본파일에 대한 완전한 다운로드가 이루어지며 향후 인덱싱에 기반한 빠른 파일추출이 가능하다.

  • instant 파일 추출시점마다 탐색과 추출이 이루어진다. 원본 트래픽을 최소화하고 일부 파일만 추출할 경우 효과적이다.

contentTypes

추출된 파일의 Content-Type 헤더는 다음정보를 참조한다.

http://www.iana.org/assignments/media-types/media-types.xhtml http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

하지만 존재하지 않거나 재정의하고 싶다면 다음과 같이 설정한다.

"contentTypes" : {
  "default": "application/octet-stream",
  "map": [
    {
      "extension" : "opf",
      "value": "application/oebps-package+xml"
    },
    {
      "extension" : "bin",
      "value": "application/x-binary"
    }
  ]
}
default (기본: application/octet-stream)

확장자가 없거나, 알 수 없는 파일에 대한 기본값을 정의한다. 값이 null 이라면 Content-Type 헤더를 제공하지 않는다.

map

확장자 extension 에 따른 값 value 를 지정한다.