diff --git a/all.sas b/all.sas
index c41c7ed..ef3edac 100644
--- a/all.sas
+++ b/all.sas
@@ -18978,8 +18978,11 @@ data _null_;
run;
data _null_;
- file &fname1;
+ file &fname1 lrecl=1000;
+ infile "&_sasjs_tokenfile" lrecl=1000;
+ input;
put "Content-Type: multipart/form-data; boundary=&boundary";
+ put "Authorization: Bearer " _infile_;
run;
%if &mdebug=1 %then %do;
@@ -19039,6 +19042,8 @@ options &optval;
@param [in] driveloc The full path to the file in SASjs Drive
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
+
SAS Macros
+ @li mf_getuniquefileref.sas
**/
@@ -19046,13 +19051,24 @@ options &optval;
,mdebug=0
);
-proc http method='DELETE'
+%local headref;
+%let headref=%mf_getuniquefileref();
+
+data _null_;
+ file &headref lrecl=1000;
+ infile "&_sasjs_tokenfile" lrecl=1000;
+ input;
+ put "Authorization: Bearer " _infile_;
+run;
+
+proc http method='DELETE' headerin=&headref
url="&_sasjs_apiserverurl/SASjsApi/drive/file?_filePath=&driveloc";
%if &mdebug=1 %then %do;
debug level=2;
%end;
run;
+filename &headref clear;
%mend ms_deletefile;
/**
@@ -19062,7 +19078,7 @@ run;
Example:
- %ms_getfile(/some/stored/file.ext, outref=myfile)
+ %ms_getfile(/Public/app/dc/services/public/settings.sas, outref=myfile)
@param [in] driveloc The full path to the file in SASjs Drive
@param [out] outref= (msgetfil) The fileref to contain the file.
@@ -19080,13 +19096,21 @@ run;
);
/* use the recfm in a separate fileref to avoid issues with subsequent reads */
-%local binaryfref floc;
+%local binaryfref floc headref;
%let binaryfref=%mf_getuniquefileref();
+%let headref=%mf_getuniquefileref();
%let floc=%sysfunc(pathname(work))/%mf_getuniquename().txt;
-filename &outref "&floc";
+filename &outref "&floc" lrecl=32767;
filename &binaryfref "&floc" recfm=n;
-proc http method='GET' out=&binaryfref
+data _null_;
+ file &headref lrecl=1000;
+ infile "&_sasjs_tokenfile" lrecl=1000;
+ input;
+ put "Authorization: Bearer " _infile_;
+run;
+
+proc http method='GET' out=&binaryfref headerin=&headref
url="&_sasjs_apiserverurl/SASjsApi/drive/file?_filePath=&driveloc";
%if &mdebug=1 %then %do;
debug level=2;
@@ -19094,9 +19118,9 @@ proc http method='GET' out=&binaryfref
run;
filename &binaryfref clear;
+filename &headref clear;
-%mend ms_getfile;
-/**
+%mend ms_getfile;/**
@file
@brief Executes a SASjs Server Stored Program
@details Runs a Stored Program (using POST method) and extracts the webout and
@@ -19141,10 +19165,10 @@ filename &binaryfref clear;
)
data _null_;
- file &fname1;
- infile "&_sasjs_tokenfile";
+ file &fname1 lrecl=1000;
+ infile "&_sasjs_tokenfile" lrecl=1000;
input;
- put 'Authorization: Bearer' _infile_;
+ put 'Authorization: Bearer ' _infile_;
run;
filename &outref temp;
diff --git a/package-lock.json b/package-lock.json
index bc102c1..38a0963 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,9 +6,6 @@
"": {
"name": "@sasjs/core",
"license": "MIT",
- "dependencies": {
- "@sasjs/core": "^4.18.13"
- },
"devDependencies": {
"@sasjs/cli": "3.13.0"
}
diff --git a/sasjs/sasjsconfig.json b/sasjs/sasjsconfig.json
index 1930931..cf3659f 100644
--- a/sasjs/sasjsconfig.json
+++ b/sasjs/sasjsconfig.json
@@ -110,4 +110,4 @@
"contextName": "SAS Job Execution compute context"
}
]
-}
+}
\ No newline at end of file
diff --git a/server/ms_createfile.sas b/server/ms_createfile.sas
index 02fa57b..aa13f50 100644
--- a/server/ms_createfile.sas
+++ b/server/ms_createfile.sas
@@ -61,8 +61,11 @@ data _null_;
run;
data _null_;
- file &fname1;
+ file &fname1 lrecl=1000;
+ infile "&_sasjs_tokenfile" lrecl=1000;
+ input;
put "Content-Type: multipart/form-data; boundary=&boundary";
+ put "Authorization: Bearer " _infile_;
run;
%if &mdebug=1 %then %do;
diff --git a/server/ms_deletefile.sas b/server/ms_deletefile.sas
index bf6f15c..20455c0 100644
--- a/server/ms_deletefile.sas
+++ b/server/ms_deletefile.sas
@@ -17,6 +17,8 @@
@param [in] driveloc The full path to the file in SASjs Drive
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
+ SAS Macros
+ @li mf_getuniquefileref.sas
**/
@@ -24,12 +26,23 @@
,mdebug=0
);
-proc http method='DELETE'
+%local headref;
+%let headref=%mf_getuniquefileref();
+
+data _null_;
+ file &headref lrecl=1000;
+ infile "&_sasjs_tokenfile" lrecl=1000;
+ input;
+ put "Authorization: Bearer " _infile_;
+run;
+
+proc http method='DELETE' headerin=&headref
url="&_sasjs_apiserverurl/SASjsApi/drive/file?_filePath=&driveloc";
%if &mdebug=1 %then %do;
debug level=2;
%end;
run;
+filename &headref clear;
%mend ms_deletefile;
diff --git a/server/ms_getfile.sas b/server/ms_getfile.sas
index c0c6b88..09784be 100644
--- a/server/ms_getfile.sas
+++ b/server/ms_getfile.sas
@@ -5,7 +5,7 @@
Example:
- %ms_getfile(/some/stored/file.ext, outref=myfile)
+ %ms_getfile(/Public/app/dc/services/public/settings.sas, outref=myfile)
@param [in] driveloc The full path to the file in SASjs Drive
@param [out] outref= (msgetfil) The fileref to contain the file.
@@ -23,13 +23,21 @@
);
/* use the recfm in a separate fileref to avoid issues with subsequent reads */
-%local binaryfref floc;
+%local binaryfref floc headref;
%let binaryfref=%mf_getuniquefileref();
+%let headref=%mf_getuniquefileref();
%let floc=%sysfunc(pathname(work))/%mf_getuniquename().txt;
-filename &outref "&floc";
+filename &outref "&floc" lrecl=32767;
filename &binaryfref "&floc" recfm=n;
-proc http method='GET' out=&binaryfref
+data _null_;
+ file &headref lrecl=1000;
+ infile "&_sasjs_tokenfile" lrecl=1000;
+ input;
+ put "Authorization: Bearer " _infile_;
+run;
+
+proc http method='GET' out=&binaryfref headerin=&headref
url="&_sasjs_apiserverurl/SASjsApi/drive/file?_filePath=&driveloc";
%if &mdebug=1 %then %do;
debug level=2;
@@ -37,5 +45,6 @@ proc http method='GET' out=&binaryfref
run;
filename &binaryfref clear;
+filename &headref clear;
-%mend ms_getfile;
+%mend ms_getfile;
\ No newline at end of file
diff --git a/server/ms_runstp.sas b/server/ms_runstp.sas
index 0f7e76f..e8b2107 100644
--- a/server/ms_runstp.sas
+++ b/server/ms_runstp.sas
@@ -43,10 +43,10 @@
)
data _null_;
- file &fname1;
- infile "&_sasjs_tokenfile";
+ file &fname1 lrecl=1000;
+ infile "&_sasjs_tokenfile" lrecl=1000;
input;
- put 'Authorization: Bearer' _infile_;
+ put 'Authorization: Bearer ' _infile_;
run;
filename &outref temp;
diff --git a/tests/serveronly/ms_deletefile.test.sas b/tests/serveronly/ms_deletefile.test.sas
index 3a1b2e9..aa0dd2a 100644
--- a/tests/serveronly/ms_deletefile.test.sas
+++ b/tests/serveronly/ms_deletefile.test.sas
@@ -53,7 +53,7 @@ data _null_;
run;
%mp_assert(
- iftrue=("&test2"="%str(Err)or: File does not exist."),
+ iftrue=("&test2"="%str(Err)or: File doesn't exist."),
desc=Make sure the file was deleted,
outds=work.test_results
)