Skip to content
GitLab
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
Hide whitespace changes
Inline
Side-by-side
server/irmaserver/server.go
View file @
7fb734d9
...
...
@@ -21,10 +21,30 @@ 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
()
// Mount server for irmaclient
...
...
@@ -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
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment