@@ -11,7 +11,7 @@ import * as Schema from "effect/Schema"
1111import { renderError , type AppError } from "@effect-template/lib/usecases/errors"
1212
1313import { ApiAuthRequiredError , ApiBadRequestError , ApiConflictError , ApiInternalError , ApiNotFoundError , describeUnknown } from "./api/errors.js"
14- import type { ApplyProjectRequest } from "./api/contracts.js"
14+ import { federationJsonLdResponseContentType , type ApplyProjectRequest } from "./api/contracts.js"
1515import {
1616 AuthMenuRequestSchema ,
1717 AuthTerminalSessionRequestSchema ,
@@ -275,8 +275,8 @@ const binaryResponse = (data: Uint8Array, contentType: string, status = 200) =>
275275 )
276276 )
277277
278- const activityJsonResponse = ( data : unknown , status : number ) =>
279- textResponse ( JSON . stringify ( data ) , "application/activity+json; charset=utf-8" , status )
278+ const jsonLdResponse = ( data : unknown , status : number ) =>
279+ textResponse ( JSON . stringify ( data ) , federationJsonLdResponseContentType , status )
280280
281281const parseQueryInt = ( url : string , key : string , fallback : number ) : number => {
282282 const parsed = Number ( new URL ( url , "http://localhost" ) . searchParams . get ( key ) ?? "" )
@@ -595,6 +595,13 @@ export const federationExchangeStatusResponse = () =>
595595 return yield * _ ( jsonResponse ( makeFederationExchangeStatus ( context ) , 200 ) )
596596 } ) . pipe ( Effect . catchAll ( errorResponse ) )
597597
598+ export const federationActorDocumentResponse = ( ) =>
599+ Effect . gen ( function * ( _ ) {
600+ const request = yield * _ ( HttpServerRequest . HttpServerRequest )
601+ const context = yield * _ ( resolveFederationContext ( request ) )
602+ return yield * _ ( jsonLdResponse ( makeFederationActorDocument ( context ) , 200 ) )
603+ } ) . pipe ( Effect . catchAll ( errorResponse ) )
604+
598605const terminalWebSocketUpgradeResponse = Effect . gen ( function * ( _ ) {
599606 const request = yield * _ ( HttpServerRequest . HttpServerRequest )
600607 const upgrade = readHeader ( request , "upgrade" ) ?. toLowerCase ( )
@@ -859,42 +866,38 @@ export const makeRouter = () => {
859866 ) ,
860867 HttpRouter . get (
861868 "/federation/actor" ,
862- Effect . gen ( function * ( _ ) {
863- const request = yield * _ ( HttpServerRequest . HttpServerRequest )
864- const context = yield * _ ( resolveFederationContext ( request ) )
865- return yield * _ ( activityJsonResponse ( makeFederationActorDocument ( context ) , 200 ) )
866- } ) . pipe ( Effect . catchAll ( errorResponse ) )
869+ federationActorDocumentResponse ( )
867870 ) ,
868871 HttpRouter . get (
869872 "/federation/outbox" ,
870873 Effect . gen ( function * ( _ ) {
871874 const request = yield * _ ( HttpServerRequest . HttpServerRequest )
872875 const context = yield * _ ( resolveFederationContext ( request ) )
873- return yield * _ ( activityJsonResponse ( makeFederationOutboxCollection ( context ) , 200 ) )
876+ return yield * _ ( jsonLdResponse ( makeFederationOutboxCollection ( context ) , 200 ) )
874877 } ) . pipe ( Effect . catchAll ( errorResponse ) )
875878 ) ,
876879 HttpRouter . get (
877880 "/federation/followers" ,
878881 Effect . gen ( function * ( _ ) {
879882 const request = yield * _ ( HttpServerRequest . HttpServerRequest )
880883 const context = yield * _ ( resolveFederationContext ( request ) )
881- return yield * _ ( activityJsonResponse ( makeFederationFollowersCollection ( context ) , 200 ) )
884+ return yield * _ ( jsonLdResponse ( makeFederationFollowersCollection ( context ) , 200 ) )
882885 } ) . pipe ( Effect . catchAll ( errorResponse ) )
883886 ) ,
884887 HttpRouter . get (
885888 "/federation/following" ,
886889 Effect . gen ( function * ( _ ) {
887890 const request = yield * _ ( HttpServerRequest . HttpServerRequest )
888891 const context = yield * _ ( resolveFederationContext ( request ) )
889- return yield * _ ( activityJsonResponse ( makeFederationFollowingCollection ( context ) , 200 ) )
892+ return yield * _ ( jsonLdResponse ( makeFederationFollowingCollection ( context ) , 200 ) )
890893 } ) . pipe ( Effect . catchAll ( errorResponse ) )
891894 ) ,
892895 HttpRouter . get (
893896 "/federation/liked" ,
894897 Effect . gen ( function * ( _ ) {
895898 const request = yield * _ ( HttpServerRequest . HttpServerRequest )
896899 const context = yield * _ ( resolveFederationContext ( request ) )
897- return yield * _ ( activityJsonResponse ( makeFederationLikedCollection ( context ) , 200 ) )
900+ return yield * _ ( jsonLdResponse ( makeFederationLikedCollection ( context ) , 200 ) )
898901 } ) . pipe ( Effect . catchAll ( errorResponse ) )
899902 ) ,
900903 HttpRouter . get (
0 commit comments