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'
반환값:
event
Eventcookie
Cookie - 변경된 쿠키cause
string - 변경 원인. 다음 값 중 하나를 가짐:explicit
- 사용자의 직접적인 동작으로 쿠키가 변경됨overwrite
- 쿠키가 덮어쓰기 작업으로 인해 자동으로 제거됨expired
- 쿠키가 만료되어 자동으로 제거됨evicted
- 가비지 컬렉션 과정에서 쿠키가 자동으로 제거됨expired-overwrite
- 이미 만료된 날짜로 쿠키가 덮어쓰기됨
removed
boolean - 쿠키가 제거된 경우true
, 그렇지 않으면false
쿠키가 추가, 수정, 제거 또는 만료되어 변경될 때 발생한다.
인스턴스 메서드
Cookies
인스턴스에서 사용할 수 있는 메서드는 다음과 같다:
cookies.get(filter)
filter
Objecturl
string (옵션) - 특정url
과 연결된 쿠키를 가져온다. 비어 있으면 모든 URL의 쿠키를 가져온다.name
string (옵션) - 쿠키 이름으로 필터링한다.domain
string (옵션) - 도메인이domains
와 일치하거나 하위 도메인인 쿠키를 가져온다.path
string (옵션) - 경로가path
와 일치하는 쿠키를 가져온다.secure
boolean (옵션) - Secure 속성으로 쿠키를 필터링한다.session
boolean (옵션) - 세션 쿠키 또는 영구 쿠키를 필터링한다.httpOnly
boolean (옵션) - httpOnly 속성으로 쿠키를 필터링한다.
반환값 Promise<Cookie[]>
- 쿠키 객체 배열로 이행되는 Promise.
filter
와 일치하는 모든 쿠키를 가져오는 요청을 보내고, 응답으로 Promise를 이행한다.
cookies.set(details)
details
Objecturl
string - 쿠키와 연결할 URL. URL이 유효하지 않으면 Promise가 거부된다.name
string (선택 사항) - 쿠키의 이름. 생략 시 기본값은 빈 문자열이다.value
string (선택 사항) - 쿠키의 값. 생략 시 기본값은 빈 문자열이다.domain
string (선택 사항) - 쿠키의 도메인. 앞에 점을 추가해 서브도메인에서도 유효하도록 정규화된다. 생략 시 기본값은 빈 문자열이다.path
string (선택 사항) - 쿠키의 경로. 생략 시 기본값은 빈 문자열이다.secure
boolean (선택 사항) - 쿠키를 Secure로 표시할지 여부. Same Site=None 속성을 사용하지 않는 한 기본값은 false이다.httpOnly
boolean (선택 사항) - 쿠키를 HTTP only로 표시할지 여부. 기본값은 false이다.expirationDate
Double (선택 사항) - 쿠키의 만료 날짜. UNIX epoch 이후 초 단위로 표시한다. 생략하면 쿠키는 세션 쿠키가 되어 세션 간에 유지되지 않는다.sameSite
string (선택 사항) - 이 쿠키에 적용할 Same Site 정책.unspecified
,no_restriction
,lax
,strict
중 하나를 선택할 수 있다. 기본값은lax
이다.
Returns Promise<void>
- 쿠키가 설정되면 이행되는 Promise
details
를 사용해 쿠키를 설정한다.
cookies.remove(url, name)
url
string - 쿠키와 연관된 URLname
string - 삭제할 쿠키의 이름
반환값: Promise<void>
- 쿠키가 삭제되면 이행되는 Promise
지정된 url
과 name
에 해당하는 쿠키를 삭제한다.
cookies.flushStore()
Promise<void>
를 반환한다. 쿠키 저장소가 비워지면 이 Promise가 해결된다.
이 메서드는 아직 디스크에 쓰이지 않은 모든 쿠키 데이터를 디스크에 기록한다.
어떤 방법으로 쿠키를 작성하더라도, 쿠키는 즉시 디스크에 기록되지 않는다. 대신 30초마다 또는 512번의 작업이 수행될 때마다 기록된다.
이 메서드를 호출하면 쿠키가 즉시 디스크에 기록될 수 있다.