mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Add headers
This commit is contained in:
parent
c54ef1185f
commit
2e5e3bd19e
2 changed files with 36 additions and 13 deletions
|
|
@ -12,9 +12,10 @@ export function integrationRouter() {
|
|||
const router = express.Router()
|
||||
// request token from pocket
|
||||
router.post(
|
||||
'/pocket/request-token',
|
||||
'/pocket/auth',
|
||||
cors<express.Request>(corsConfig),
|
||||
async (req: express.Request, res: express.Response) => {
|
||||
logger.info('pocket/request-token')
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
||||
const token = (req.cookies.auth as string) || req.headers.authorization
|
||||
const claims = await getClaimsByToken(token)
|
||||
|
|
@ -23,7 +24,7 @@ export function integrationRouter() {
|
|||
}
|
||||
|
||||
const consumerKey = env.pocket.consumerKey
|
||||
const redirectUri = `${env.client.url}/settings/integrations:pocketAuthorizationFinished`
|
||||
const redirectUri = `${env.client.url}/settings/integrations?state=pocketAuthorizationFinished`
|
||||
try {
|
||||
// make a POST request to Pocket to get a request token
|
||||
const response = await axios.post<{ code: string }>(
|
||||
|
|
@ -31,6 +32,12 @@ export function integrationRouter() {
|
|||
{
|
||||
consumer_key: consumerKey,
|
||||
redirect_uri: redirectUri,
|
||||
},
|
||||
{
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Accept': 'application/json',
|
||||
},
|
||||
}
|
||||
)
|
||||
const { code } = response.data
|
||||
|
|
|
|||
|
|
@ -20,14 +20,24 @@ interface PocketItem {
|
|||
export class PocketIntegration extends IntegrationService {
|
||||
name = 'POCKET'
|
||||
POCKET_API_URL = 'https://getpocket.com/v3'
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Accept': 'application/json',
|
||||
}
|
||||
|
||||
accessToken = async (token: string): Promise<string | null> => {
|
||||
const url = `${this.POCKET_API_URL}/oauth/authorize`
|
||||
try {
|
||||
const response = await axios.post<{ access_token: string }>(url, {
|
||||
consumer_key: env.pocket.consumerKey,
|
||||
code: token,
|
||||
})
|
||||
const response = await axios.post<{ access_token: string }>(
|
||||
url,
|
||||
{
|
||||
consumer_key: env.pocket.consumerKey,
|
||||
code: token,
|
||||
},
|
||||
{
|
||||
headers: this.headers,
|
||||
}
|
||||
)
|
||||
return response.data.access_token
|
||||
} catch (error) {
|
||||
console.log('error validating pocket token', error)
|
||||
|
|
@ -41,13 +51,19 @@ export class PocketIntegration extends IntegrationService {
|
|||
): Promise<PocketResponse> => {
|
||||
const url = `${this.POCKET_API_URL}/get`
|
||||
try {
|
||||
const response = await axios.post<PocketResponse>(url, {
|
||||
consumer_key: env.pocket.consumerKey,
|
||||
access_token: accessToken,
|
||||
state: 'all',
|
||||
detailType: 'simple',
|
||||
since,
|
||||
})
|
||||
const response = await axios.post<PocketResponse>(
|
||||
url,
|
||||
{
|
||||
consumer_key: env.pocket.consumerKey,
|
||||
access_token: accessToken,
|
||||
state: 'all',
|
||||
detailType: 'simple',
|
||||
since,
|
||||
},
|
||||
{
|
||||
headers: this.headers,
|
||||
}
|
||||
)
|
||||
return response.data
|
||||
} catch (error) {
|
||||
console.log('error retrieving pocket data', error)
|
||||
|
|
|
|||
Loading…
Reference in a new issue