[**@jupyterlite**](../../../README.md) *** [@jupyterlite](../../../README.md) / [@jupyterlite/services](../README.md) / DriveContentsProcessor # Class: DriveContentsProcessor Defined in: [packages/services/src/contents/drivecontents.ts:84](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L84) Class for processing a drive request from the DriveFS. ## Implements - [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md) ## Constructors ### Constructor > **new DriveContentsProcessor**(`options`): `DriveContentsProcessor` Defined in: [packages/services/src/contents/drivecontents.ts:87](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L87) #### Parameters ##### options [`IOptions`](../namespaces/DriveContentsProcessor/interfaces/IOptions.md) #### Returns `DriveContentsProcessor` ## Methods ### get() > **get**(`request`): `Promise`\<`null` \| \{ `content`: `any`; `format`: `FileFormat`; \}\> Defined in: [packages/services/src/contents/drivecontents.ts:210](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L210) Process the request to get the content of a file #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"get"`\> the request #### Returns `Promise`\<`null` \| \{ `content`: `any`; `format`: `FileFormat`; \}\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`get`](../interfaces/IDriveContentsProcessor.md#get) *** ### getattr() > **getattr**(`request`): `Promise`\<[`IStats`](../interfaces/IStats.md)\> Defined in: [packages/services/src/contents/drivecontents.ts:188](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L188) Process the request to get a node stats #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"getattr"`\> the request #### Returns `Promise`\<[`IStats`](../interfaces/IStats.md)\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`getattr`](../interfaces/IDriveContentsProcessor.md#getattr) *** ### getmode() > **getmode**(`request`): `Promise`\<`number`\> Defined in: [packages/services/src/contents/drivecontents.ts:151](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L151) Process the request to get the node mode (file or directory) #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"getmode"`\> the request #### Returns `Promise`\<`number`\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`getmode`](../interfaces/IDriveContentsProcessor.md#getmode) *** ### lookup() > **lookup**(`request`): `Promise`\<[`ILookup`](../namespaces/DriveFS/interfaces/ILookup.md)\> Defined in: [packages/services/src/contents/drivecontents.ts:162](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L162) Process the request to check if a node exist #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"lookup"`\> the request #### Returns `Promise`\<[`ILookup`](../namespaces/DriveFS/interfaces/ILookup.md)\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`lookup`](../interfaces/IDriveContentsProcessor.md#lookup) *** ### mknod() > **mknod**(`request`): `Promise`\<`null`\> Defined in: [packages/services/src/contents/drivecontents.ts:178](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L178) Process the request to create a directory/file #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"mknod"`\> the request #### Returns `Promise`\<`null`\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`mknod`](../interfaces/IDriveContentsProcessor.md#mknod) *** ### processDriveRequest() > **processDriveRequest**\<`T`\>(`request`): `Promise`\<[`TDriveResponse`](../type-aliases/TDriveResponse.md)\<`T`\>\> Defined in: [packages/services/src/contents/drivecontents.ts:91](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L91) Process a content request #### Type Parameters ##### T `T` *extends* [`TDriveMethod`](../type-aliases/TDriveMethod.md) #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`T`\> the request #### Returns `Promise`\<[`TDriveResponse`](../type-aliases/TDriveResponse.md)\<`T`\>\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`processDriveRequest`](../interfaces/IDriveContentsProcessor.md#processdriverequest) *** ### put() > **put**(`request`): `Promise`\<`null`\> Defined in: [packages/services/src/contents/drivecontents.ts:231](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L231) Process the request to write the content of a file #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"put"`\> the request #### Returns `Promise`\<`null`\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`put`](../interfaces/IDriveContentsProcessor.md#put) *** ### readdir() > **readdir**(`request`): `Promise`\<`string`[]\> Defined in: [packages/services/src/contents/drivecontents.ts:132](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L132) Process the request to read a directory content #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"readdir"`\> the request #### Returns `Promise`\<`string`[]\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`readdir`](../interfaces/IDriveContentsProcessor.md#readdir) *** ### rename() > **rename**(`request`): `Promise`\<`null`\> Defined in: [packages/services/src/contents/drivecontents.ts:146](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L146) Process the request to rename a file or directory #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"rename"`\> the request #### Returns `Promise`\<`null`\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`rename`](../interfaces/IDriveContentsProcessor.md#rename) *** ### rmdir() > **rmdir**(`request`): `Promise`\<`null`\> Defined in: [packages/services/src/contents/drivecontents.ts:141](https://github.com/jupyterlite/jupyterlite/blob/14439ec34e3cade5baa221a050277e15da9d0c06/packages/services/src/contents/drivecontents.ts#L141) Process the request to remove a directory #### Parameters ##### request [`TDriveRequest`](../type-aliases/TDriveRequest.md)\<`"rmdir"`\> the request #### Returns `Promise`\<`null`\> #### Implementation of [`IDriveContentsProcessor`](../interfaces/IDriveContentsProcessor.md).[`rmdir`](../interfaces/IDriveContentsProcessor.md#rmdir)