Skip to content

API 참조

HTTPC는 27개의 요청 옵션 함수, 5개의 구성 프리셋, 8개의 내장 미들웨어 및 완전한 다운로드 지원을 제공합니다.

핵심 아키텍처

text
httpc 패키지
├── Client 인터페이스 - 기본 클라이언트, 모든 HTTP 메서드 지원
├── DomainClienter 인터페이스 - 도메인 범위 클라이언트, 세션 관리 내장
├── Config - 구성 시스템 (타임아웃/연결/보안/재시도/미들웨어)
├── RequestOption - 27개의 요청 옵션 함수
├── MiddlewareFunc - 미들웨어 체인
├── Result - 응답 결과 (요청 메타데이터 포함)
└── 패키지 함수 - 클라이언트 생성 없이 사용 가능

모듈 탐색

핵심

모듈설명
패키지 함수Get/Post/Put/Patch/Delete 등 패키지 함수, 클라이언트 메서드 및 보조 함수
구성Config 구조체, 5가지 프리셋 구성, 검증 함수 및 Cookie 보안
인터페이스Client, Doer, DomainClienter, RetryPolicy 등 핵심 인터페이스
ResultResult, RequestInfo, ResponseInfo, RequestMeta 유형 및 모든 메서드

요청과 응답

모듈설명
요청 옵션27개의 WithXxx 요청 옵션 함수 (요청 헤더, 요청 본문, 인증, Cookie, 콜백 등)
미들웨어Chain 조합, 8개의 내장 미들웨어 팩토리 및 감사 이벤트 유형
오류 유형ClientError, 12가지 ErrorType 열거형 및 13개의 오류 변수

고급 기능

모듈설명
도메인 클라이언트DomainClient 생성, HTTP 메서드, 다운로드 메서드 및 URL 조합 규칙
세션 관리SessionManager의 Cookie/요청 헤더 관리와 보안 검증
파일 다운로드다운로드 함수, DownloadConfig, 이어받기 및 보안 보호
상수와 유형BodyKind 열거형, FormData/FileData 및 감사 컨텍스트 키

빠른 참조

클라이언트 생성

go
client, err := httpc.New()                    // 기본 구성
client, err := httpc.New(httpc.SecureConfig()) // 보안 프리셋
client, err := httpc.New(customConfig)         // 사용자 정의 구성

요청 전송

go
// 패키지 함수
result, err := httpc.Get(url, options...)

// 클라이언트 메서드
result, err := client.Get(url, options...)

// 컨텍스트 포함
result, err := client.Request(ctx, "GET", url, options...)

응답 처리

go
result.StatusCode()           // 상태 코드
result.Body()                 // 응답 본문 (문자열)
result.RawBody()              // 응답 본문 (바이트)
result.Unmarshal(&data)       // JSON 파싱
result.IsSuccess()            // 2xx 여부
result.Meta.Duration          // 요청 소요 시간
result.Meta.Attempts          // 재시도 횟수
defer httpc.ReleaseResult(result) // 객체 풀로 반환