Skip to content

Commit

Permalink
#38
Browse files Browse the repository at this point in the history
- preset/bun: некоторые провайдеры перемещены в preset/server из-за отсутствия привязки к Bun (patch)
- preset/server: некоторые провайдеры/утилиты перенесены в preset/node из-за привязки к Node.js (patch)
  • Loading branch information
krutoo committed Apr 8, 2024
1 parent 8c38f71 commit f753b2a
Show file tree
Hide file tree
Showing 17 changed files with 21 additions and 18 deletions.
4 changes: 2 additions & 2 deletions src/preset/bun/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hos
import { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';
import { provideConfigSource } from './providers/config-source';
import { provideLogger } from './providers/logger';
import { provideServe } from './providers/serve';
import { provideServe } from '../server/providers/serve';
import { provideServeMetrics } from './providers/serve-metrics';
import { provideFetchMiddleware } from './providers/fetch-middleware';
import { provideFetchMiddleware } from '../server/providers/fetch-middleware';
import { provideServiceRoutes } from './providers/service-routes';
import { provideServeMiddleware } from './providers/serve-middleware';

Expand Down
2 changes: 1 addition & 1 deletion src/preset/bun/providers/serve-middleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { runWithAsyncContext } from '@sentry/bun';
import { ServerMiddleware } from '../../server/types';
import { getServeLogging } from '../../server/utils/get-serve-logging';
import { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';
import { getServeMeasuring } from '../../server/utils/get-serve-measuring';
import { getServeMeasuring } from '../../node/utils/get-serve-measuring';

export function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {
const config = resolve(KnownToken.Config.base);
Expand Down
2 changes: 1 addition & 1 deletion src/preset/node-handler/providers/fetch-middleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { KnownToken } from '../../../tokens';
import { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';
import { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';
import { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';
import { getFetchTracing } from '../../server/utils/get-fetch-tracing';
import { getFetchTracing } from '../../node/utils/get-fetch-tracing';
import { getForwardedHeaders } from '../../node/utils/get-forwarded-headers';

/**
Expand Down
2 changes: 1 addition & 1 deletion src/preset/node/providers/express-metrics-middleware.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type express from 'express';
import type { Resolve } from '../../../di';
import { LABEL_NAMES, getHandlerMetrics } from '../../server/utils/get-handler-metrics';
import { LABEL_NAMES, getHandlerMetrics } from '../utils/get-handler-metrics';
import { KnownToken } from '../../../tokens';
import { PAGE_HANDLER_EVENT_TYPE } from '../../server';
import { toMilliseconds } from '../../../utils';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { BaseConfig } from '../../../../config';
import { PAGE_HANDLER_EVENT_TYPE } from '../../constants';
import { PAGE_HANDLER_EVENT_TYPE } from '../../../server/constants';
import { getServeMeasuring } from '../get-serve-measuring';

describe('getServeMeasuring', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { hideFirstId } from '../../isomorphic/utils/hide-first-id';
*/
export function getFetchTracing(tracer: Tracer, rootContext: Context): Middleware {
return async (request, next) => {
const [url, foundId] = hideFirstId(new URL(request.url).pathname);
const [url, foundId] = hideFirstId(new URL(request.url).pathname); // @todo тут бы помог URLPattern
const span = tracer.startSpan(`HTTP ${request.method} ${url}`, undefined, rootContext);

span.setAttributes({
Expand All @@ -38,7 +38,7 @@ export function getFetchTracing(tracer: Tracer, rootContext: Context): Middlewar

span.end();

// не прячем ошибку
// ВАЖНО: не прячем ошибку
throw error;
}
};
Expand Down
1 change: 1 addition & 0 deletions src/preset/node/utils/get-page-response-format.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import type express from 'express';
* @param req Запрос.
* @return Формат.
* @todo Перенести в preset/node (или в preset/server но с именем getPageResponseFormatExpress?).
* @deprecated Стоит использовать npm:accepts.
*/
export function getPageResponseFormat(req: express.Request): 'html' | 'json' {
let result: 'html' | 'json' = 'html';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { BaseConfig } from '../../../config';
import type { ServerMiddleware } from '../types';
import { PAGE_HANDLER_EVENT_TYPE } from '../constants';
import type { ServerMiddleware } from '../../server/types';
import { PAGE_HANDLER_EVENT_TYPE } from '../../server/constants';
import { toMilliseconds } from '../../../utils';
import { LABEL_NAMES, getHandlerMetrics } from './get-handler-metrics';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Resolve } from '../../../di';
import { KnownToken } from '../../../tokens';
import { Handler, proxy } from '../../../http';
import { router, applyMiddleware } from '@krutoo/fetch-tools';
import { applyServerMiddleware } from '../../server/utils/apply-server-middleware';
import { applyServerMiddleware } from '../utils/apply-server-middleware';

export function provideServe(resolve: Resolve): Handler {
const config = resolve(KnownToken.Config.base);
Expand Down
1 change: 1 addition & 0 deletions src/preset/server/utils/get-page-response-format.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* Вернет "html" во всех остальных случаях.
* @param request Запрос.
* @return Формат.
* @deprecated Стоит использовать npm:accepts.
*/
export function getPageResponseFormat(request: Request): 'html' | 'json' {
let result: 'html' | 'json' = 'html';
Expand Down
5 changes: 3 additions & 2 deletions src/preset/web/providers/axios-middleware.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Resolve } from '../../../di';
import type { Middleware } from 'middleware-axios';
import type { Resolve } from '../../../di';
import { KnownToken } from '../../../tokens';
import { HttpStatus } from '../../isomorphic/utils/http-status';
import { logMiddleware } from '../../../utils/axios';
Expand All @@ -8,7 +9,7 @@ import { logMiddleware } from '../../../utils/axios';
* @param resolve Функция для получения зависимости по токену.
* @return Фабрика.
*/
export function provideAxiosMiddleware(resolve: Resolve) {
export function provideAxiosMiddleware(resolve: Resolve): Middleware<unknown>[] {
const logHandler = resolve(KnownToken.Axios.Middleware.Log.handler);

return [HttpStatus.axiosMiddleware(), logMiddleware(logHandler)];
Expand Down
4 changes: 2 additions & 2 deletions src/utils/express/handler/health-check.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import type { Handler } from 'express';
import type express from 'express';

/**
* Возвращает обработчик, отвечающий данными о времени работы приложения.
* @return Обработчик http-запроса.
*/
export function healthCheck(): Handler {
export function healthCheck(): express.Handler {
const startTime = Date.now();

return (req, res) => {
Expand Down
4 changes: 2 additions & 2 deletions src/utils/express/utils/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import type { Handler } from 'express';
import type express from 'express';

/**
* Объединяет промежуточные слои в один.
* @param list Промежуточные слои.
* @return Промежуточный слой.
*/
export function composeMiddleware(list: Handler[]): Handler {
export function composeMiddleware(list: express.Handler[]): express.Handler {
return list.reduce((a, b) => (req, res, next) => {
a(req, res, err => {
if (err) {
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
"module": "NodeNext"
},
"include": ["./src"],
"exclude": ["node_modules", "./src/preset/bun/**/*"]
"exclude": ["node_modules", "./src/preset/bun/**/*", "./src/preset/bun-handler/**/*"]
}

0 comments on commit f753b2a

Please sign in to comment.