getDetailEncryptedFile()

This method is used to get detail of an encrypted file.

Syntax

getDetailEncryptedFile: (
    torrentUrl: any, 
    key: string, 
    token: string, 
    isShare: boolean, 
    webSeed?: any, 
    account?: any, 
    onProcess?: (torrent: any, remaining: any) => void
)

Params

NameTypeRequiredDescription

torrentUrl

string

Yes

Torren URL.

key

string

Yes

The encrypted key.

token

string

Yes

The authentication token.

isShare

boolean

Yes

If you get file detail of a file is shared, isShare will be true, else isShare will be false.

webSeed

any

No

This is an array: [url, backupUrl]. If isShare is true, webSeed is required.

account

any

No

User Owallet address. If isShare is true, account is required.

onProcess

function

No

This function is used to handle the process get a file.

The first param torrent is an object that includes some torrent information (see more).

The second param remaining is the time remaining to get file.

Example

import { getDetailFile, getDetailEncryptedFile } from "@eueno/lib-browser";
import { useDispatch, useSelector } from "react-redux";

const dispatch = useDispatch();
const getFile = async (id, token) => {
 try {
  const fileDetail = await getDetailFile(id);
    if (!fileDetail) {
      return console.error("File not found");
    }

    let bufferData;
 
    if (fileDetail.encryptKey) {
        bufferData = await getDetailEncryptedFile(
        fileDetail.torrentUrl,
        fileDetail.encryptKey,
        token,
        isShare: false,
        [fileDetail.url, fileDetail.backupUrl],
        account,
        (torrent, remaining) => {
          dispatch(
            setTorrentInfo({
              download: torrent.downloadSpeed,
              upload: torrent.uploadSpeed,
              remain: remaining,
            })
          );
        }
      );
    }
    
 } catch (error) {
   console.log(error);
 }
};

Response

This method returns buffer data. You can use some library as "render-media" to render data (see example)

Last updated