Skip to content

Commit

Permalink
Merge pull request #185 from drashland/restructure-namespace
Browse files Browse the repository at this point in the history
[restructure-namespace] restructure namespace
  • Loading branch information
crookse authored Apr 19, 2020
2 parents e25b47e + 7babf11 commit f3c68e9
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 70 deletions.
98 changes: 40 additions & 58 deletions mod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,40 @@
// REQUIREMENTS.md

// Compilers
import { TemplateEngine as template_engine } from "./src/compilers/template_engine.ts";
import { TemplateEngine as BaseTemplateEngine } from "./src/compilers/template_engine.ts";

// Dictionaries
import * as log_levels from "./src/dictionaries/log_levels.ts";
import mime_db from "./src/dictionaries/mime_db.json";

// Exceptions
import { HttpException as http_exception } from "./src/exceptions/http_exception.ts";
import { HttpMiddlewareException as http_middleware_exception } from "./src/exceptions/http_middleware_exception.ts";
import { HttpResponseException as http_response_exception } from "./src/exceptions/http_response_exception.ts";
import { NameCollisionException as name_collision_exception } from "./src/exceptions/name_collision_exception.ts";
import { HttpException as BaseHttpException } from "./src/exceptions/http_exception.ts";
import { HttpMiddlewareException as BaseHttpMiddlewareException } from "./src/exceptions/http_middleware_exception.ts";
import { HttpResponseException as BaseHttpResponseException } from "./src/exceptions/http_response_exception.ts";
import { NameCollisionException as BaseNameCollisionException } from "./src/exceptions/name_collision_exception.ts";

// Http
import { Middleware as middleware } from "./src/http/middleware.ts";
import { Resource as resource } from "./src/http/resource.ts";
import { Response as response } from "./src/http/response.ts";
import { Server as server } from "./src/http/server.ts";
import { Middleware as BaseMiddleware } from "./src/http/middleware.ts";
import { Resource as BaseResource } from "./src/http/resource.ts";
import { Response as BaseResponse } from "./src/http/response.ts";
import { Server as BaseServer } from "./src/http/server.ts";

// Interfaces
import { LoggerConfigs as interface_logger_configs } from "./src/interfaces/logger_configs.ts";
import { LogLevelStructure as interface_log_level_structure } from "./src/interfaces/log_level_structure.ts";
import { ParsedRequestBody as interface_parsed_request_body } from "./src/interfaces/parsed_request_body.ts";
import { ServerConfigs as interface_server_configs } from "./src/interfaces/server_configs.ts";
import { ResponseOptions as interface_response_options } from "./src/interfaces/response_options.ts"
import { LoggerConfigs as BaseLoggerConfigs } from "./src/interfaces/logger_configs.ts";
import { LogLevelStructure as BaseLogLevelStructure } from "./src/interfaces/log_level_structure.ts";
import { ParsedRequestBody as BaseParsedRequestBody } from "./src/interfaces/parsed_request_body.ts";
import { ServerConfigs as BaseServerConfigs } from "./src/interfaces/server_configs.ts";
import { ResponseOptions as BaseResponseOptions } from "./src/interfaces/response_options.ts"

// Loggers
import { Logger as base_logger } from "./src/core_loggers/logger.ts";
import { ConsoleLogger as console_logger } from "./src/core_loggers/console_logger.ts";
import { FileLogger as file_logger } from "./src/core_loggers/file_logger.ts";
import { Logger as BaseLogger } from "./src/core_loggers/logger.ts";
import { ConsoleLogger as BaseConsoleLogger } from "./src/core_loggers/console_logger.ts";
import { FileLogger as BaseFileLogger } from "./src/core_loggers/file_logger.ts";

// Services
import { HttpService as http_service } from "./src/services/http_service.ts";
import { HttpRequestService as http_request_service } from "./src/services/http_request_service.ts";
import { StringService as string_service } from "./src/services/string_service.ts";
import { HttpService as BaseHttpService } from "./src/services/http_service.ts";
import { HttpRequestService as BaseHttpRequestService } from "./src/services/http_request_service.ts";
import { StringService as BaseStringService } from "./src/services/string_service.ts";

import * as util_members from "./src/util/members.ts";

Expand All @@ -48,64 +48,46 @@ export namespace Drash {
}

export namespace Compilers {
export type TemplateEngine = template_engine;
export const TemplateEngine = template_engine;
export class TemplateEngine extends BaseTemplateEngine { }
}

export namespace Dictionaries {
export const LogLevels = log_levels.LogLevels;
export const MimeDb = mime_db;
// export namespace Enums {
// export const LogLevel = log_levels.LogLevel;
// }
}

export namespace Exceptions {
export type HttpException = http_exception;
export let HttpException = http_exception;
export type HttpMiddlewareException = http_middleware_exception;
export let HttpMiddlewareException = http_middleware_exception;
export type HttpResponseException = http_response_exception;
export let HttpResponseException = http_response_exception;
export type NameCollisionException = name_collision_exception;
export let NameCollisionException = name_collision_exception;
export class HttpException extends BaseHttpException { }
export class HttpMiddlewareException extends BaseHttpMiddlewareException { }
export class HttpResponseException extends BaseHttpResponseException { }
export class NameCollisionException extends BaseNameCollisionException { }
}

export namespace CoreLoggers {
export type ConsoleLogger = console_logger;
export const ConsoleLogger = console_logger;
export type FileLogger = file_logger;
export const FileLogger = file_logger;
export type Logger = base_logger;
export const Logger = base_logger;
export class ConsoleLogger extends BaseConsoleLogger { }
export class FileLogger extends BaseFileLogger { }
export abstract class Logger extends BaseLogger { }
}

export namespace Http {
export type Middleware = middleware;
export let Middleware = middleware;
export type Resource = resource;
export let Resource = resource;
export type Response = response;
export let Response = response;
export type Server = server;
export let Server = server;
export abstract class Middleware extends BaseMiddleware { }
export class Resource extends BaseResource { }
export class Response extends BaseResponse { }
export class Server extends BaseServer { }
}

export namespace Interfaces {
export type LogLevelStructure = interface_log_level_structure;
export type LoggerConfigs = interface_logger_configs;
export type ParsedRequestBody = interface_parsed_request_body;
export type ServerConfigs = interface_server_configs;
export type ResponseOptions = interface_response_options;
export interface LogLevelStructure extends BaseLogLevelStructure { }
export interface LoggerConfigs extends BaseLoggerConfigs { }
export interface ParsedRequestBody extends BaseParsedRequestBody { }
export interface ServerConfigs extends BaseServerConfigs { }
export interface ResponseOptions extends BaseResponseOptions { }
}

export namespace Services {
export type HttpService = http_service;
export const HttpService = new http_service();
export type HttpRequestService = http_request_service;
export const HttpRequestService = new http_request_service();
export type StringService = string_service;
export const StringService = string_service;
export class HttpService extends BaseHttpService { }
export class HttpRequestService extends BaseHttpRequestService { }
export class StringService extends BaseStringService { }
}

/**
Expand Down
6 changes: 3 additions & 3 deletions src/http/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ export class Server {
options.memory_allocation.multipart_form_data = config
.multipart_form_data;
}
request = await Drash.Services.HttpRequestService.hydrate(
request = await new Drash.Services.HttpRequestService().hydrate(
request,
options,
);
Expand Down Expand Up @@ -867,9 +867,9 @@ export class Server {
let requestUrl = "/" + staticPath;

if (this.static_paths.indexOf(requestUrl) != -1) {
request = Drash.Services.HttpRequestService.hydrate(request, {
request = new Drash.Services.HttpRequestService().hydrate(request, {
headers: {
"Response-Content-Type": Drash.Services.HttpService.getMimeType(
"Response-Content-Type": new Drash.Services.HttpService().getMimeType(
request.url,
true,
),
Expand Down
2 changes: 1 addition & 1 deletion tests/members.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function mockRequest(url = "/", method = "get", headers?: any): any {
request.url = url;
request.method = method;
request.headers = new Headers();
request = Drash.Services.HttpRequestService.hydrate(request, {
request = new Drash.Services.HttpRequestService().hydrate(request, {
headers: headers,
});

Expand Down
16 changes: 8 additions & 8 deletions tests/unit/services/http_service_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@ import members from "../../members.ts";
members.test("http_service_test.ts | getMimeType(): file is not a URL", () => {
let actual;

actual = members.Drash.Services.HttpService.getMimeType(
actual = new members.Drash.Services.HttpService().getMimeType(
"/this/is/the/path.txt",
);
members.assert.equal(actual, "text/plain");

actual = members.Drash.Services.HttpService.getMimeType(
actual = new members.Drash.Services.HttpService().getMimeType(
"/this/is/the/path.json",
);
members.assert.equal(actual, "application/json");

actual = members.Drash.Services.HttpService.getMimeType(
actual = new members.Drash.Services.HttpService().getMimeType(
"/this/is/the/path.xml",
);
members.assert.equal(actual, "application/xml");

actual = members.Drash.Services.HttpService.getMimeType(
actual = new members.Drash.Services.HttpService().getMimeType(
"/this/is/the/path.pdf",
);
members.assert.equal(actual, "application/pdf");
Expand All @@ -27,22 +27,22 @@ members.test("http_service_test.ts | getMimeType(): file is not a URL", () => {
members.test("http_service_test.ts | getMimeType(): file is a URL", () => {
let actual;

actual = members.Drash.Services.HttpService.getMimeType(
actual = new members.Drash.Services.HttpService().getMimeType(
"https://localhost:1337/this/is/the/path.txt",
);
members.assert.equal(actual, "text/plain");

actual = members.Drash.Services.HttpService.getMimeType(
actual = new members.Drash.Services.HttpService().getMimeType(
"https://localhost:1337/this/is/the/path.json",
);
members.assert.equal(actual, "application/json");

actual = members.Drash.Services.HttpService.getMimeType(
actual = new members.Drash.Services.HttpService().getMimeType(
"https://localhost:1337/this/is/the/path.xml",
);
members.assert.equal(actual, "application/xml");

actual = members.Drash.Services.HttpService.getMimeType(
actual = new members.Drash.Services.HttpService().getMimeType(
"https://localhost:1337/this/is/the/path.pdf",
);
members.assert.equal(actual, "application/pdf");
Expand Down

0 comments on commit f3c68e9

Please sign in to comment.