Add tests
This commit is contained in:
21
packages/content-handler/src/medium-handler.ts
Normal file
21
packages/content-handler/src/medium-handler.ts
Normal file
@ -0,0 +1,21 @@
|
||||
import { ContentHandler, PreHandleResult } from './index'
|
||||
|
||||
class MediumHandler extends ContentHandler {
|
||||
shouldPreHandle(url: string, dom?: Document): boolean {
|
||||
const u = new URL(url)
|
||||
return u.hostname.endsWith('medium.com')
|
||||
}
|
||||
|
||||
async preHandle(url: string, document?: Document): Promise<PreHandleResult> {
|
||||
console.log('prehandling medium url', url)
|
||||
|
||||
try {
|
||||
const res = new URL(url)
|
||||
res.searchParams.delete('source')
|
||||
return Promise.resolve({ url: res.toString() })
|
||||
} catch (error) {
|
||||
console.error('error prehandling medium url', error)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user