Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
W
webserver-with-docker
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Ulrik Ofstad
webserver-with-docker
Commits
8ccdc4e7
Commit
8ccdc4e7
authored
8 months ago
by
Ulrik Ofstad
Browse files
Options
Downloads
Patches
Plain Diff
made some minor improvements
parent
f59603fc
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
client/src/index.tsx
+12
-12
12 additions, 12 deletions
client/src/index.tsx
client/src/task-service.tsx
+14
-8
14 additions, 8 deletions
client/src/task-service.tsx
server/src/task-router.ts
+13
-14
13 additions, 14 deletions
server/src/task-router.ts
with
39 additions
and
34 deletions
client/src/index.tsx
+
12
−
12
View file @
8ccdc4e7
import
*
as
React
from
'
react
'
;
import
*
as
React
from
"
react
"
;
import
{
createRoot
}
from
'
react-dom/client
'
;
import
{
createRoot
}
from
"
react-dom/client
"
;
import
{
Component
}
from
'
react-simplified
'
;
import
{
Component
}
from
"
react-simplified
"
;
import
{
HashRouter
,
Route
}
from
'
react-router-dom
'
;
import
{
HashRouter
,
Route
}
from
"
react-router-dom
"
;
import
{
NavBar
,
Card
,
Alert
,
Row
,
Column
,
Form
,
Button
}
from
'
./widgets
'
;
import
{
NavBar
,
Card
,
Alert
,
Row
,
Column
,
Form
,
Button
}
from
"
./widgets
"
;
import
taskService
from
'
./task-service
'
;
import
taskService
from
"
./task-service
"
;
class
App
extends
Component
{
class
App
extends
Component
{
input
:
string
=
''
;
input
:
string
=
""
;
stdout
:
string
=
''
;
stdout
:
string
=
""
;
stderr
:
string
=
''
;
stderr
:
string
=
""
;
language
=
'
js
'
;
language
=
"
js
"
;
render
()
{
render
()
{
return
(
return
(
...
@@ -62,10 +62,10 @@ class App extends Component {
...
@@ -62,10 +62,10 @@ class App extends Component {
}
}
}
}
let
root
=
document
.
getElementById
(
'
root
'
);
let
root
=
document
.
getElementById
(
"
root
"
);
if
(
root
)
if
(
root
)
createRoot
(
root
).
render
(
createRoot
(
root
).
render
(
<>
<>
<
App
></
App
>
<
App
></
App
>
</>
,
</>
);
);
This diff is collapsed.
Click to expand it.
client/src/task-service.tsx
+
14
−
8
View file @
8ccdc4e7
import
axios
from
'
axios
'
;
import
axios
from
"
axios
"
;
axios
.
defaults
.
baseURL
=
'
http://localhost:3000/api/v2
'
;
axios
.
defaults
.
baseURL
=
"
http://localhost:3000/api/v2
"
;
export
type
Task
=
{
export
type
Task
=
{
id
:
number
;
id
:
number
;
...
@@ -8,15 +8,21 @@ export type Task = {
...
@@ -8,15 +8,21 @@ export type Task = {
done
:
boolean
;
done
:
boolean
;
};
};
type
Response_data
=
{
type
Response_data
=
{
stdoutData
:
''
;
stdoutData
:
""
;
stderrData
:
''
;
stderrData
:
""
;
};
};
class
TaskService
{
class
TaskService
{
create
(
input
:
string
,
language
:
string
)
{
async
create
(
input
:
string
,
language
:
string
)
{
return
axios
try
{
.
post
<
Response_data
>
(
'
/tasks
'
,
{
input
:
input
,
language
:
language
})
const
response
=
await
axios
.
post
<
Response_data
>
(
"
/tasks
"
,
{
.
then
((
response
)
=>
response
.
data
);
input
:
input
,
language
:
language
,
});
return
response
.
data
;
}
catch
(
error
)
{
throw
error
;
}
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
server/src/task-router.ts
+
13
−
14
View file @
8ccdc4e7
import
express
from
'
express
'
;
import
express
from
"
express
"
;
import
{
spawn
}
from
"
node:child_process
"
;
const
router
=
express
.
Router
();
const
router
=
express
.
Router
();
const
{
spawn
}
=
require
(
'
node:child_process
'
);
router
.
post
(
"
/tasks
"
,
(
request
,
response
)
=>
{
router
.
post
(
'
/tasks
'
,
(
request
,
response
)
=>
{
const
data
=
request
.
body
.
input
;
const
data
=
request
.
body
.
input
;
const
language
=
request
.
body
.
language
;
const
language
=
request
.
body
.
language
;
let
setup
;
let
setup
;
if
(
language
===
'
python
'
)
{
if
(
language
===
"
python
"
)
{
setup
=
[
'
run
'
,
'
--rm
'
,
'
python:3.8
'
,
'
python
'
,
'
-c
'
,
`
${
data
}
`
];
setup
=
[
"
run
"
,
"
--rm
"
,
"
python:3.8
"
,
"
python
"
,
"
-c
"
,
`
${
data
}
`
];
}
else
if
(
language
===
'
js
'
)
{
}
else
if
(
language
===
"
js
"
)
{
setup
=
[
'
run
'
,
'
--rm
'
,
'
node
-image
'
,
'
node
'
,
'
-e
'
,
`
${
data
}
`
];
setup
=
[
"
run
"
,
"
--rm
"
,
"
node
:latest
"
,
"
node
"
,
"
-e
"
,
`
${
data
}
`
];
}
}
const
ls
=
spawn
(
'
docker
'
,
setup
);
const
ls
=
spawn
(
"
docker
"
,
setup
);
let
response_data
=
{
let
response_data
=
{
stdoutData
:
''
,
stdoutData
:
""
,
stderrData
:
''
,
stderrData
:
""
,
};
};
ls
.
stdout
.
on
(
'
data
'
,
(
data
:
string
)
=>
{
ls
.
stdout
.
on
(
"
data
"
,
(
data
:
string
)
=>
{
response_data
.
stdoutData
+=
data
;
response_data
.
stdoutData
+=
data
;
});
});
ls
.
stderr
.
on
(
'
data
'
,
(
data
:
string
)
=>
{
ls
.
stderr
.
on
(
"
data
"
,
(
data
:
string
)
=>
{
response_data
.
stderrData
+=
data
;
response_data
.
stderrData
+=
data
;
});
});
ls
.
on
(
'
close
'
,
(
exit_status
:
number
)
=>
{
ls
.
on
(
"
close
"
,
(
exit_status
:
number
)
=>
{
response
.
send
(
response_data
);
response
.
send
(
response_data
);
});
});
});
});
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment