📦Fiber
New
이 메서드는 새로운 App 이라는 이름의 인스턴스를 생성합니다. 새로운 인스턴스를 생성할 때 선택적으로 config를 전달할 수 있습니다.
Config
새로운 Fiber 인스턴스를 생성할 때 선택적으로 Config를 전달할 수 있습니다.
Config fields
AppName
string
앱의 이름을 설정할 수 있습니다.
""
BodyLimit
int
요청 본문의 최대 허용 크기를 설정합니다. 크기가 설정된 제한을 초과하면 413 - Request Entity Too Large
응답을 보냅니다.
4 * 1024 * 1024
CaseSensitive
bool
활성화되면 /Foo
와 /foo
는 다른 라우트로 취급됩니다. 비활성화되면 /Foo
와 /foo
는 같은 것으로 취급됩니다.
false
CompressedFileSuffix
string
원본 파일 이름에 접미사를 추가하고 결과 압축 파일을 새 파일 이름으로 저장하려고 시도합니다.
".fiber.gz"
Concurrency
int
최대 동시 연결 수입니다.
256 * 1024
DisableDefaultContentType
bool
true로 설정하면 응답에서 기본 Content-Type 헤더가 제외됩니다.
false
DisableDefaultDate
bool
true로 설정하면 응답에서 기본 날짜 헤더가 제외됩니다.
false
DisableHeaderNormalizing
bool
기본적으로 모든 헤더 이름은 정규화됩니다: conteNT-tYPE -> Content-Type
false
DisableKeepalive
bool
keep-alive 연결을 비활성화하면 서버는 클라이언트에 첫 번째 응답을 보낸 후 들어오는 연결을 닫습니다.
false
DisablePreParseMultipartForm
bool
true로 설정하면 멀티파트 폼 데이터를 사전 분석하지 않습니다. 이 옵션은 멀티파트 폼 데이터를 이진 블롭으로 처리하거나 데이터 분석 시기를 선택하려는 서버에 유용합니다.
false
EnableIPValidation
bool
true로 설정하면 c.IP()
와 c.IPs()
는 IP 주소를 반환하기 전에 유효성을 검사합니다. 또한 c.IP()
는 쉼표로 구분된 문자열일 수 있는 원시 헤더 값이 아닌 첫 번째 유효한 IP만 반환합니다.
경고: 이 유효성 검사를 수행하는 데는 약간의 성능 비용이 듭니다. 속도가 유일한 관심사이고 애플리케이션이 이 헤더를 이미 검증하는 신뢰할 수 있는 프록시 뒤에 있는 경우 비활성화된 상태로 유지하십시오.
false
EnableSplittingOnParsers
bool
EnableSplittingOnParsers는 true일 때 쿼리/본문/헤더 매개변수를 쉼표로 분할합니다.
예를 들어 /api?foo=bar,baz == foo[]=bar&foo[]=baz
와 같이 쿼리 매개변수에서 여러 값을 구문 분석하는 데 사용할 수 있습니다.
false
EnableTrustedProxyCheck
bool
true로 설정하면 fiber는 TrustedProxies 목록을 사용하여 프록시가 신뢰할 수 있는지 확인합니다.
기본적으로 c.Protocol()
은 X-Forwarded-Proto, X-Forwarded-Protocol, X-Forwarded-Ssl 또는 X-Url-Scheme 헤더에서 값을 가져오고, c.IP()
는 ProxyHeader
헤더에서 값을 가져오고, c.Hostname()
은 X-Forwarded-Host 헤더에서 값을 가져옵니다.
EnableTrustedProxyCheck가 true이고 RemoteIP
가 TrustedProxies
목록에 있는 경우 c.Protocol()
, c.IP()
및 c.Hostname()
은 EnableTrustedProxyCheck
가 비활성화된 경우와 동일한 동작을 합니다. RemoteIP
가 목록에 없으면 c.Protocol()
은 tls 연결이 앱에 의해 처리되는 경우 https를 반환하고 그렇지 않으면 http를 반환합니다. c.IP()
는 fasthttp 컨텍스트에서 RemoteIP()를 반환하고 c.Hostname()
은 fasthttp.Request.URI().Host()
를 반환합니다.
false
ErrorHandler
ErrorHandler
ErrorHandler는 fiber.Handler에서 오류가 반환될 때 실행됩니다. 탑재된 fiber 오류 핸들러는 최상위 앱에서 유지되며 접두사와 관련된 요청에 적용됩니다.
DefaultErrorHandler
GETOnly
bool
true로 설정하면 모든 비 GET 요청을 거부합니다. 이 옵션은 GET 요청만 수락하는 서버에 대한 anti-DoS 보호로 유용합니다. GETOnly가 설정되면 요청 크기는 ReadBufferSize로 제한됩니다.
false
IdleTimeout
time.Duration
keep-alive가 활성화된 경우 다음 요청을 기다리는 최대 시간입니다. IdleTimeout이 0이면 ReadTimeout 값이 사용됩니다.
nil
JSONDecoder
utils.JSONUnmarshal
디코딩에 다른 json 라이브러리를 사용할 수 있는 유연성을 허용합니다.
json.Unmarshal
JSONEncoder
utils.JSONMarshal
인코딩에 다른 json 라이브러리를 사용할 수 있는 유연성을 허용합니다.
json.Marshal
PassLocalsToViews
bool
PassLocalsToViews는 fiber.Ctx에 설정된 로컬을 템플릿 엔진에 전달하는 것을 활성화합니다. 지원되는 엔진은 Template Middleware를 참조하세요.
false
ProxyHeader
string
이렇게 하면 c.IP()
가 주어진 헤더 키의 값을 반환할 수 있습니다. 기본적으로 c.IP()
는 TCP 연결에서 Remote IP를 반환합니다. 이 속성은 로드 밸런서 뒤에 있는 경우에 유용할 수 있습니다(예: X-Forwarded-*).
ReadBufferSize
ReadTimeout
time.Duration
본문을 포함하여 전체 요청을 읽는 데 허용되는 시간입니다. 기본 시간 제한은 무제한입니다.
nil
ReduceMemoryUsage
bool
true로 설정하면 CPU 사용량이 높아지는 대신 메모리 사용량을 적극적으로 줄입니다.
false
RequestMethods
[]string
RequestMethods는 HTTP 메서드에 대한 사용자 정의 기능을 제공합니다. 원하는 대로 메서드를 추가/제거할 수 있습니다.
DefaultMethods
ServerHeader
string
주어진 값으로 Server
HTTP 헤더를 활성화합니다.
""
StreamRequestBody
bool
StreamRequestBody는 요청 본문 스트리밍을 활성화하고 주어진 본문이 현재 제한보다 큰 경우 핸들러를 더 빨리 호출합니다.
false
StrictRouting
bool
활성화되면 라우터는 /foo
와 /foo/
를 다르게 취급합니다. 그렇지 않으면 라우터는 /foo
와 /foo/
를 동일하게 취급합니다.
false
StructValidator
StructValidator
바인딩할 때 헤더/폼/쿼리 등을 자동으로 검증하려면 struct validator를 정의할 수 있습니다. Fiber에는 기본 validator가 없으므로 validator를 사용하지 않으면 validator 단계를 건너뜁니다.
nil
TrustedProxies
[]string
신뢰할 수 있는 프록시 IP 목록을 포함합니다. EnableTrustedProxyCheck
문서를 참조하십시오.
IP 또는 IP 범위 주소를 사용할 수 있습니다.
nil
UnescapePath
bool
컨텍스트의 경로를 설정하기 전에 라우트의 모든 인코딩된 문자를 다시 변환하므로 URL 인코딩된 특수 문자로도 라우팅이 가능합니다.
false
Views
Views
Views는 Render 함수를 감싸는 인터페이스입니다. 지원되는 엔진은 Template Middleware를 참조하세요.
nil
ViewsLayout
string
Views Layout은 Render 함수에서 재정의할 때까지 모든 템플릿 렌더링을 위한 전역 레이아웃입니다. 지원되는 엔진은 Template Middleware를 참조하세요.
""
WriteBufferSize
int
응답 쓰기를 위한 연결당 버퍼 크기입니다.
4096
WriteTimeout
time.Duration
응답 쓰기가 시간 초과되기 전의 최대 기간입니다. 기본 시간 제한은 무제한입니다.
nil
XMLEncoder
utils.XMLMarshal
인코딩에 다른 XML 라이브러리를 사용할 수 있는 유연성을 허용합니다.
xml.Marshal
Server listening
Config
Listen
또는 Listener
메서드를 호출할 때 선택적으로 ListenConfig를 전달할 수 있습니다.
Config fields
BeforeServeFunc
func(app *App) error
앱을 제공하기 전에 fiber 앱을 사용자 정의하고 액세스할 수 있습니다.
nil
CertClientFile
string
클라이언트 인증서의 경로입니다. mTLS를 사용하려면 이 필드를 입력해야 합니다.
""
CertFile
string
인증서 파일의 경로입니다. TLS를 사용하려면 이 필드를 입력해야 합니다.
""
CertKeyFile
string
인증서의 개인 키 경로입니다. TLS를 사용하려면 이 필드를 입력해야 합니다.
""
DisableStartupMessage
bool
true로 설정하면 «Fiber» ASCII 아트와 수신 주소가 출력되지 않습니다.
false
EnablePrefork
bool
true로 설정하면 동일한 포트에서 수신하는 여러 Go 프로세스가 생성됩니다.
false
EnablePrintRoutes
bool
true로 설정하면 해당 방법, 경로 및 처리기와 함께 모든 라우트가 인쇄됩니다.
false
GracefulContext
context.Context
주어진 컨텍스트로 Fiber를 우아하게 종료하는 필드입니다.
nil
ListenerAddrFunc
func(addr net.Addr)
net.Listener
에 액세스하고 사용자 정의할 수 있습니다.
nil
ListenerNetwork
string
알려진 네트워크는 "tcp", "tcp4"(IPv4 전용), "tcp6"(IPv6 전용)입니다. 경고: 프리포크가 true로 설정된 경우 "tcp4" 및 "tcp6"만 선택할 수 있습니다.
tcp4
OnShutdownError
func(err error)
주어진 신호로 서버를 정상적으로 종료할 때 오류 동작을 사용자 정의할 수 있습니다. log.Fatalf()
로 오류를 인쇄합니다.
nil
OnShutdownSuccess
func()
주어진 신호로 서버를 정상적으로 종료할 때 성공 동작을 사용자 정의할 수 있습니다.
nil
TLSConfigFunc
func(tlsConfig *tls.Config)
원하는 대로 tls.Config
를 사용자 정의할 수 있습니다.
nil
Listen
Listen은 주어진 주소에서 HTTP 요청을 제공합니다.
Prefork
Prefork는 동일한 포트에서 수신하는 여러 Go 프로세스를 생성할 수 있는 기능입니다. 이는 여러 CPU 코어에서 확장하는 데 유용할 수 있습니다.
이렇게 하면 생성된 프로세스 간에 들어오는 연결이 분산되어 더 많은 요청을 동시에 처리할 수 있습니다.
TLS
TLS는 TLS 인증서 및 키 파일로 certFile 및 keyFile 경로를 사용하여 주어진 주소에서 HTTPs 요청을 제공합니다.
TLS with certificate
TLS with certFile, keyFile and clientCertFile
Listener
Listener
메서드를 사용하여 고유한 net.Listener
를 전달할 수 있습니다. 이 메서드는 사용자 정의 tls.Config로 TLS/HTTPS를 활성화하는 데 사용할 수 있습니다.
Server
Server는 기본 fasthttp 서버를 반환합니다.
Server Shutdown
Shutdown은 활성 연결을 중단하지 않고 서버를 정상적으로 종료합니다. Shutdown은 먼저 모든 열린 리스너를 닫은 다음 모든 연결이 유휴 상태로 돌아갈 때까지 무기한 대기한 후 종료합니다.
ShutdownWithTimeout은 시간 제한이 만료되면 활성 연결을 강제로 닫습니다.
ShutdownWithContext는 컨텍스트의 마감일이 초과되면 강제로 서버를 종료합니다.
Helper functions
NewError
NewError는 선택적 메시지와 함께 새 HTTPError 인스턴스를 생성합니다.
IsChild
IsChild는 현재 프로세스가 Prefork의 결과인지 확인합니다.
Last updated