mirror of
https://github.com/misskey-dev/summaly.git
synced 2025-05-29 09:27:16 +09:00
lang option (#131)
This commit is contained in:
parent
58b6252442
commit
13ccfbd778
@ -18,7 +18,13 @@ client.set('maxDataSize', 1024 * 1024);
|
||||
|
||||
import Summary from './summary';
|
||||
|
||||
export default async (url: URL.Url): Promise<Summary> => {
|
||||
export default async (url: URL.Url, lang: string = null): Promise<Summary> => {
|
||||
if (lang && !lang.match(/^[\w-]+(\s*,\s*[\w-]+)*$/)) lang = null;
|
||||
|
||||
client.set('headers', {
|
||||
'Accept-Language': lang
|
||||
});
|
||||
|
||||
const res = await client.fetch(url.href);
|
||||
|
||||
if (res.error) {
|
||||
|
@ -19,6 +19,11 @@ const builtinPlugins = Object.keys(_builtinPlugins)
|
||||
.map(key => _builtinPlugins[key]);
|
||||
|
||||
type Options = {
|
||||
/**
|
||||
* Accept-Language for the request
|
||||
*/
|
||||
lang?: string;
|
||||
|
||||
/**
|
||||
* Whether follow redirects
|
||||
*/
|
||||
@ -38,6 +43,7 @@ type Result = Summary & {
|
||||
};
|
||||
|
||||
const defaultOptions = {
|
||||
lang: null,
|
||||
followRedirects: true,
|
||||
plugins: null
|
||||
} as Options;
|
||||
@ -58,7 +64,7 @@ export default async (url: string, options?: Options): Promise<Result> => {
|
||||
const match = plugins.filter(plugin => plugin.test(_url))[0];
|
||||
|
||||
// Get summary
|
||||
const summary = await (match ? match.summarize : general)(_url);
|
||||
const summary = await (match ? match.summarize : general)(_url, opts.lang);
|
||||
|
||||
if (summary == null) {
|
||||
throw 'failed summarize';
|
||||
|
@ -3,7 +3,7 @@ import Summary from './summary';
|
||||
|
||||
interface IPlugin {
|
||||
test: (url: URL.Url) => boolean;
|
||||
summarize: (url: URL.Url) => Promise<Summary>;
|
||||
summarize: (url: URL.Url, lang?: string) => Promise<Summary>;
|
||||
}
|
||||
|
||||
export default IPlugin;
|
||||
|
@ -12,6 +12,7 @@ app.use(async ctx => {
|
||||
|
||||
try {
|
||||
const summary = await summaly(ctx.query.url, {
|
||||
lang: ctx.query.lang,
|
||||
followRedirects: false
|
||||
});
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user