Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
IRMA
Github mirrors
irmago
Commits
7fb734d9
Commit
7fb734d9
authored
Aug 26, 2018
by
Sietse Ringers
Browse files
Allow irmaserver to be used as library
parent
de975e0b
Changes
1
Show whitespace changes
Inline
Side-by-side
server/irmaserver/server.go
View file @
7fb734d9
...
...
@@ -21,8 +21,28 @@ var s *http.Server
// Start the server. If successful then it will not return until Stop() is called.
func
Start
(
conf
*
Configuration
)
error
{
if
err
:=
irmarequestor
.
Initialize
(
conf
.
Configuration
);
err
!=
nil
{
handler
,
err
:=
Handler
(
conf
.
Configuration
)
if
err
!=
nil
{
return
err
}
// Start server
s
=
&
http
.
Server
{
Addr
:
fmt
.
Sprintf
(
":%d"
,
conf
.
Port
),
Handler
:
handler
}
err
=
s
.
ListenAndServe
()
if
err
==
http
.
ErrServerClosed
{
return
nil
// Server was closed normally
}
return
err
}
func
Stop
()
{
s
.
Close
()
}
func
Handler
(
conf
*
server
.
Configuration
)
(
http
.
Handler
,
error
)
{
if
err
:=
irmarequestor
.
Initialize
(
conf
);
err
!=
nil
{
return
nil
,
err
}
router
:=
chi
.
NewRouter
()
...
...
@@ -35,17 +55,7 @@ func Start(conf *Configuration) error {
router
.
Get
(
"/status/{token}"
,
handleStatus
)
router
.
Get
(
"/result/{token}"
,
handleResult
)
// Start server
s
=
&
http
.
Server
{
Addr
:
fmt
.
Sprintf
(
":%d"
,
conf
.
Port
),
Handler
:
router
}
err
:=
s
.
ListenAndServe
()
if
err
==
http
.
ErrServerClosed
{
return
nil
// Server was closed normally
}
return
err
}
func
Stop
()
{
s
.
Close
()
return
router
,
nil
}
func
handleCreate
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment