Class: Cookies
Class: 쿠키
세션의 쿠키를 조회하고 수정한다.
프로세스: 메인
이 클래스는 'electron' 모듈에서 직접 내보내지 않는다. Electron API의 다른 메서드 반환값으로만 사용 가능하다.
Cookies 클래스의 인스턴스는 Session 객체의 cookies 속성을 통해 접근한다.
예시:
const { session } = require('electron')
// 모든 쿠키 조회
session.defaultSession.cookies.get({})
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// 특정 URL과 관련된 쿠키 조회
session.defaultSession.cookies.get({ url: 'https://www.github.com' })
.then((cookies) => {
console.log(cookies)
}).catch((error) => {
console.log(error)
})
// 주어진 쿠키 데이터로 쿠키 설정
// 동일한 쿠키가 존재하면 덮어쓸 수 있다.
const cookie = { url: 'https://www.github.com', name: 'dummy_name', value: 'dummy' }
session.defaultSession.cookies.set(cookie)
.then(() => {
// 성공
}, (error) => {
console.error(error)
})
Cookies 인스턴스에서 사용할 수 있는 이벤트는 다음과 같다:
이벤트: 'changed'
반환값:
eventEventcookieCookie - 변경된 쿠키causestring - 변경 원인. 다음 값 중 하나를 가짐:explicit- 사용자의 직접적인 동작으로 쿠키가 변경됨overwrite- 쿠키가 덮어쓰기 작업으로 인해 자동으로 제거됨expired- 쿠키가 만료되어 자동으로 제거됨evicted- 가비지 컬렉션 과정에서 쿠키가 자동으로 제거됨expired-overwrite- 이미 만료된 날짜로 쿠키가 덮어쓰기됨
removedboolean - 쿠키가 제거된 경우true, 그렇지 않으면false
쿠키가 추가, 수정, 제거 또는 만료되어 변경될 때 발생한다.
인스턴스 메서드
Cookies 인스턴스에서 사용할 수 있는 메서드는 다음과 같다:
cookies.get(filter)
filterObjecturlstring (옵션) - 특정url과 연결된 쿠키를 가져온다. 비어 있으면 모든 URL의 쿠키를 가져온다.namestring (옵션) - 쿠키 이름으로 필터링한다.domainstring (옵션) - 도메인이domains와 일치하거나 하위 도메인인 쿠키를 가져온다.pathstring (옵션) - 경로가path와 일치하는 쿠키를 가져온다.secureboolean (옵션) - Secure 속성으로 쿠키를 필터링한다.sessionboolean (옵션) - 세션 쿠키 또는 영구 쿠키를 필터링한다.httpOnlyboolean (옵션) - httpOnly 속성으로 쿠키를 필터링한다.
반환값 Promise<Cookie[]> - 쿠키 객체 배열로 이행되는 Promise.
filter와 일치하는 모든 쿠키를 가져오는 요청을 보내고, 응답으로 Promise를 이행한다.
cookies.set(details)
detailsObjecturlstring - 쿠키와 연결할 URL. URL이 유효하지 않으면 Promise가 거부된다.namestring (선택 사항) - 쿠키의 이름. 생략 시 기본값은 빈 문자열이다.valuestring (선택 사항) - 쿠키의 값. 생략 시 기본값은 빈 문자열이다.domainstring (선택 사항) - 쿠키의 도메인. 앞에 점을 추가해 서브도메인에서도 유효하도록 정규화된다. 생략 시 기본값은 빈 문자열이다.pathstring (선택 사항) - 쿠키의 경로. 생략 시 기본값은 빈 문자열이다.secureboolean (선택 사항) - 쿠키를 Secure로 표시할지 여부. Same Site=None 속성을 사용하지 않는 한 기본값은 false이다.httpOnlyboolean (선택 사항) - 쿠키를 HTTP only로 표시할지 여부. 기본값은 false이다.expirationDateDouble (선택 사항) - 쿠키의 만료 날짜. UNIX epoch 이후 초 단위로 표시한다. 생략하면 쿠키는 세션 쿠키가 되어 세션 간에 유지되지 않는다.sameSitestring (선택 사항) - 이 쿠키에 적용할 Same Site 정책.unspecified,no_restriction,lax,strict중 하나를 선택할 수 있다. 기본값은lax이다.
Returns Promise<void> - 쿠키가 설정되면 이행되는 Promise
details를 사용해 쿠키를 설정한다.
cookies.remove(url, name)
urlstring - 쿠키와 연관된 URLnamestring - 삭제할 쿠키의 이름
반환값: Promise<void> - 쿠키가 삭제되면 이행되는 Promise
지정된 url과 name에 해당하는 쿠키를 삭제한다.
cookies.flushStore()
Promise<void>를 반환한다. 쿠키 저장소가 비워지면 이 Promise가 해결된다.
이 메서드는 아직 디스크에 쓰이지 않은 모든 쿠키 데이터를 디스크에 기록한다.
어떤 방법으로 쿠키를 작성하더라도, 쿠키는 즉시 디스크에 기록되지 않는다. 대신 30초마다 또는 512번의 작업이 수행될 때마다 기록된다.
이 메서드를 호출하면 쿠키가 즉시 디스크에 기록될 수 있다.