# HTTP Post Task

HTTP 프로토콜 post 메쏘드를 실행하는 테스크이다.

## parameters

- 경로(path)

  - HTTP 호출 대상 경로를 설정한다.
  - 지정된 커넥션의 endpoint를 베이스로 path가 추가되어 URL이 완성된다.
    - connection endpoint가 'https://abc.com:8080' 이고, 경로(path)가 '/users/def' 이라면, URL 'https://abc.com:8080/users/def' 가 된다.
  - 경로(path)는 [템플릿 리터럴](../concept/template-literal.md)이 적용되므로, data, variables, domain 등의 변수를 활용할 수 있다.

- Headers

  - 요청시에 포함될 header 값을 추가한다.
  - 각 헤더의 값은 [템플릿 리터럴](../concept/template-literal.md)이 적용되므로, data, variables, domain 등의 변수를 활용할 수 있다.

- Content Type

  - Post 요청의 내용이 어떤 형식인지를 설정한다.
  - 이 형식은 요청시에 포함될 헤더의 'content-type'에 추가된다.
    - 'text/plain' : 요청의 body 형식이 텍스트임을 의미한다.
    - 'application/json': 요청의 body 형식이 JSON오브젝트임을 의미한다.
    - 'application/x-www-form-urlencoded' : 요청의 body형식이 search parameter형식임을 의미한다.

- 접근자 [accessor](../concept/data-accessor.md)
  - 시나리오 컨텍스트의 data중에서 Post 요청의 body로 사용될 스텝(step)을 설정한다.
  - 해당 스텝의 결과값이 이 요청의 body로 사용된다.

## 결과

- HTTP Post 메쏘드의 호출 결과 데이타 형식은 응답의 "content-type" 헤더의 설정을 따른다.
  - HTTP 응답의 'content-type' 헤더 값이 'application/json'이면 오브젝트 형식이되며, 그 외는 모두 문자열로 리턴된다.
