Skip to content

Commit f8ef56e

Browse files
committed
fix bugs
1 parent 00a5732 commit f8ef56e

2 files changed

Lines changed: 126 additions & 121 deletions

File tree

src/common/OGTags.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,13 @@ export async function getOGTags(url: string): GetOGTagsReturn {
9595
const metaTags = root.querySelectorAll('head meta');
9696

9797
const filteredOGTags = metaTags.filter((el) => {
98-
const isValidField = mapper.has(el.attributes.property) || mapper.has(el.attributes.property?.split('og:')?.[1]);
98+
const isOG = el.attributes.name?.startsWith('og:');
99+
const isValidField = mapper.has(el.attributes.name?.split('og:')?.[1]);
99100
const hasContent = el.attributes.content;
100-
return isValidField && hasContent;
101+
return isOG && isValidField && hasContent;
101102
});
102103

103-
const entries = filteredOGTags.map((el) => [mapper.get(el.attributes.property) || mapper.get(el.attributes.property?.split('og:')?.[1]), el.attributes.content?.substring(0, 1000)]);
104+
const entries = filteredOGTags.map((el) => [mapper.get(el.attributes.name.split('og:')[1]), el.attributes.content.substring(0, 1000)]);
104105
if (!youtubeWatchCode && !entries.length) return false;
105106
let object = Object.fromEntries(entries || []);
106107

src/worker.ts

Lines changed: 122 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -1,119 +1,123 @@
1-
import express from 'express';
2-
import http from 'http';
3-
import env from './common/env';
4-
import { Log } from './common/Log';
5-
import { connectRedis } from './common/redis';
6-
import cors from 'cors';
7-
8-
import { createIO } from './socket/socket';
9-
import { UsersRouter } from './routes/users/Router';
10-
import { ServersRouter } from './routes/servers/Router';
11-
import { ChannelsRouter } from './routes/channels/Router';
12-
import { FriendsRouter } from './routes/friends/Router';
13-
import { prisma } from './common/database';
14-
import { userIP } from './middleware/userIP';
15-
import { rateLimit } from './middleware/rateLimit';
16-
import { ModerationRouter } from './routes/moderation/Router';
17-
import { ExploreRouter } from './routes/explore/Router';
18-
import { PostsRouter } from './routes/posts/Router';
19-
import { ConnectionsRouter } from './routes/connections/Router';
20-
import { TicketsRouter } from './routes/tickets/Router';
21-
import { EmojisRouter } from './routes/emojis/Router';
22-
import { TenorRouter } from './routes/tenor/Router';
23-
import { ApplicationsRouter } from './routes/applications/Router';
24-
import { OpenGraphRouter } from './routes/open-graph/Router';
25-
import helmet from 'helmet';
26-
import { RemindersRouter } from './routes/reminders/Router';
27-
import { WebhooksRouter } from './routes/webhooks/Router';
28-
import { Oauth2Router } from './routes/oauth2/Router';
29-
import { CdnRouter } from './routes/cdn/Router';
30-
31-
(Date.prototype.toJSON as unknown as (this: Date) => number) = function () {
32-
return this.getTime();
33-
};
34-
35-
const app = express();
36-
const server = http.createServer(app);
37-
38-
// Middleware to log request duration
39-
// app.use((req, res, next) => {
40-
// const start = process.hrtime(); // High-resolution time
41-
42-
// res.on('finish', () => {
43-
// const end = process.hrtime(start);
44-
// const durationInMilliseconds = end[0] * 1000 + end[1] / 1e6;
45-
// logger.info(`${req.method} ${req.originalUrl} - ${durationInMilliseconds.toFixed(3)}ms`);
1+
import { getOGTags } from './common/OGTags';
2+
3+
getOGTags('https://nerimity.com').then(console.log);
4+
5+
// import express from 'express';
6+
// import http from 'http';
7+
// import env from './common/env';
8+
// import { Log } from './common/Log';
9+
// import { connectRedis } from './common/redis';
10+
// import cors from 'cors';
11+
12+
// import { createIO } from './socket/socket';
13+
// import { UsersRouter } from './routes/users/Router';
14+
// import { ServersRouter } from './routes/servers/Router';
15+
// import { ChannelsRouter } from './routes/channels/Router';
16+
// import { FriendsRouter } from './routes/friends/Router';
17+
// import { prisma } from './common/database';
18+
// import { userIP } from './middleware/userIP';
19+
// import { rateLimit } from './middleware/rateLimit';
20+
// import { ModerationRouter } from './routes/moderation/Router';
21+
// import { ExploreRouter } from './routes/explore/Router';
22+
// import { PostsRouter } from './routes/posts/Router';
23+
// import { ConnectionsRouter } from './routes/connections/Router';
24+
// import { TicketsRouter } from './routes/tickets/Router';
25+
// import { EmojisRouter } from './routes/emojis/Router';
26+
// import { TenorRouter } from './routes/tenor/Router';
27+
// import { ApplicationsRouter } from './routes/applications/Router';
28+
// import { OpenGraphRouter } from './routes/open-graph/Router';
29+
// import helmet from 'helmet';
30+
// import { RemindersRouter } from './routes/reminders/Router';
31+
// import { WebhooksRouter } from './routes/webhooks/Router';
32+
// import { Oauth2Router } from './routes/oauth2/Router';
33+
// import { CdnRouter } from './routes/cdn/Router';
34+
35+
// (Date.prototype.toJSON as unknown as (this: Date) => number) = function () {
36+
// return this.getTime();
37+
// };
38+
39+
// const app = express();
40+
// const server = http.createServer(app);
41+
42+
// // Middleware to log request duration
43+
// // app.use((req, res, next) => {
44+
// // const start = process.hrtime(); // High-resolution time
45+
46+
// // res.on('finish', () => {
47+
// // const end = process.hrtime(start);
48+
// // const durationInMilliseconds = end[0] * 1000 + end[1] / 1e6;
49+
// // logger.info(`${req.method} ${req.originalUrl} - ${durationInMilliseconds.toFixed(3)}ms`);
50+
// // });
51+
52+
// // next();
53+
// // });
54+
55+
// const main = async () => {
56+
// await connectRedis();
57+
// Log.info('Connected to Redis');
58+
// createIO(server);
59+
60+
// prisma.$connect().then(() => {
61+
// Log.info('Connected to PostgreSQL');
62+
63+
// if (server.listening) return;
64+
65+
// const port = env.TYPE === 'ws' ? env.WS_PORT : env.API_PORT;
66+
67+
// server.listen(port, () => {
68+
// Log.info('listening on *:' + port);
69+
// });
4670
// });
47-
48-
// next();
49-
// });
50-
51-
const main = async () => {
52-
await connectRedis();
53-
Log.info('Connected to Redis');
54-
createIO(server);
55-
56-
prisma.$connect().then(() => {
57-
Log.info('Connected to PostgreSQL');
58-
59-
if (server.listening) return;
60-
61-
const port = env.TYPE === 'ws' ? env.WS_PORT : env.API_PORT;
62-
63-
server.listen(port, () => {
64-
Log.info('listening on *:' + port);
65-
});
66-
});
67-
};
68-
main();
69-
70-
app.use(
71-
helmet({
72-
strictTransportSecurity: {
73-
maxAge: 31536000,
74-
includeSubDomains: false,
75-
},
76-
}),
77-
);
78-
79-
app.use(
80-
cors({
81-
origin: env.ORIGIN,
82-
}),
83-
);
84-
85-
if (env.TYPE === 'api') {
86-
app.use(express.json({ limit: '20MB' }));
87-
app.use(express.urlencoded({ extended: false, limit: '20MB' }));
88-
89-
app.use(userIP);
90-
91-
app.use('/api', OpenGraphRouter);
92-
93-
app.use(
94-
rateLimit({
95-
name: 'global_limit',
96-
useIP: true,
97-
restrictMS: 30000,
98-
perMS: 15000,
99-
requests: 100,
100-
}),
101-
);
102-
103-
app.use('/api', ModerationRouter);
104-
app.use('/api', UsersRouter);
105-
app.use('/api', ServersRouter);
106-
app.use('/api', ChannelsRouter);
107-
app.use('/api', FriendsRouter);
108-
app.use('/api', ExploreRouter);
109-
app.use('/api', PostsRouter);
110-
app.use('/api', ConnectionsRouter);
111-
app.use('/api', TicketsRouter);
112-
app.use('/api', EmojisRouter);
113-
app.use('/api', TenorRouter);
114-
app.use('/api', ApplicationsRouter);
115-
app.use('/api', RemindersRouter);
116-
app.use('/api', WebhooksRouter);
117-
app.use('/api', Oauth2Router);
118-
app.use('/api', CdnRouter);
119-
}
71+
// };
72+
// main();
73+
74+
// app.use(
75+
// helmet({
76+
// strictTransportSecurity: {
77+
// maxAge: 31536000,
78+
// includeSubDomains: false,
79+
// },
80+
// }),
81+
// );
82+
83+
// app.use(
84+
// cors({
85+
// origin: env.ORIGIN,
86+
// }),
87+
// );
88+
89+
// if (env.TYPE === 'api') {
90+
// app.use(express.json({ limit: '20MB' }));
91+
// app.use(express.urlencoded({ extended: false, limit: '20MB' }));
92+
93+
// app.use(userIP);
94+
95+
// app.use('/api', OpenGraphRouter);
96+
97+
// app.use(
98+
// rateLimit({
99+
// name: 'global_limit',
100+
// useIP: true,
101+
// restrictMS: 30000,
102+
// perMS: 15000,
103+
// requests: 100,
104+
// }),
105+
// );
106+
107+
// app.use('/api', ModerationRouter);
108+
// app.use('/api', UsersRouter);
109+
// app.use('/api', ServersRouter);
110+
// app.use('/api', ChannelsRouter);
111+
// app.use('/api', FriendsRouter);
112+
// app.use('/api', ExploreRouter);
113+
// app.use('/api', PostsRouter);
114+
// app.use('/api', ConnectionsRouter);
115+
// app.use('/api', TicketsRouter);
116+
// app.use('/api', EmojisRouter);
117+
// app.use('/api', TenorRouter);
118+
// app.use('/api', ApplicationsRouter);
119+
// app.use('/api', RemindersRouter);
120+
// app.use('/api', WebhooksRouter);
121+
// app.use('/api', Oauth2Router);
122+
// app.use('/api', CdnRouter);
123+
// }

0 commit comments

Comments
 (0)