Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-shell
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-shell
Commits
e07469ff
Commit
e07469ff
authored
Feb 09, 2016
by
Jacob Vosmaer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use an HTTP timeout of 5 minutes by default
parent
82b3a4e8
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
6 deletions
+12
-6
config.yml.example
config.yml.example
+1
-0
lib/gitlab_net.rb
lib/gitlab_net.rb
+11
-6
No files found.
config.yml.example
View file @
e07469ff
...
@@ -17,6 +17,7 @@ gitlab_url: "http://localhost:8080"
...
@@ -17,6 +17,7 @@ gitlab_url: "http://localhost:8080"
# See installation.md#using-https for additional HTTPS configuration details.
# See installation.md#using-https for additional HTTPS configuration details.
http_settings:
http_settings:
# read_timeout: 300
# user: someone
# user: someone
# password: somepass
# password: somepass
# ca_file: /etc/ssl/cert.pem
# ca_file: /etc/ssl/cert.pem
...
...
lib/gitlab_net.rb
View file @
e07469ff
...
@@ -10,6 +10,9 @@ require_relative 'httpunix'
...
@@ -10,6 +10,9 @@ require_relative 'httpunix'
class
GitlabNet
class
GitlabNet
class
ApiUnreachableError
<
StandardError
;
end
class
ApiUnreachableError
<
StandardError
;
end
CHECK_TIMEOUT
=
5
READ_TIMEOUT
=
300
def
check_access
(
cmd
,
repo
,
actor
,
changes
)
def
check_access
(
cmd
,
repo
,
actor
,
changes
)
project_name
=
repo
.
gsub
(
"'"
,
""
)
project_name
=
repo
.
gsub
(
"'"
,
""
)
project_name
=
project_name
.
gsub
(
/\.git\Z/
,
""
)
project_name
=
project_name
.
gsub
(
/\.git\Z/
,
""
)
...
@@ -50,7 +53,7 @@ class GitlabNet
...
@@ -50,7 +53,7 @@ class GitlabNet
end
end
def
check
def
check
get
(
"
#{
host
}
/check"
)
get
(
"
#{
host
}
/check"
,
read_timeout:
CHECK_TIMEOUT
)
end
end
protected
protected
...
@@ -63,13 +66,15 @@ class GitlabNet
...
@@ -63,13 +66,15 @@ class GitlabNet
"
#{
config
.
gitlab_url
}
/api/v3/internal"
"
#{
config
.
gitlab_url
}
/api/v3/internal"
end
end
def
http_client_for
(
uri
)
def
http_client_for
(
uri
,
options
=
{}
)
if
uri
.
is_a?
(
URI
::
HTTPUNIX
)
if
uri
.
is_a?
(
URI
::
HTTPUNIX
)
http
=
Net
::
HTTPUNIX
.
new
(
uri
.
hostname
)
http
=
Net
::
HTTPUNIX
.
new
(
uri
.
hostname
)
else
else
http
=
Net
::
HTTP
.
new
(
uri
.
host
,
uri
.
port
)
http
=
Net
::
HTTP
.
new
(
uri
.
host
,
uri
.
port
)
end
end
http
.
read_timeout
=
options
[
:read_timeout
]
||
READ_TIMEOUT
if
uri
.
is_a?
(
URI
::
HTTPS
)
if
uri
.
is_a?
(
URI
::
HTTPS
)
http
.
use_ssl
=
true
http
.
use_ssl
=
true
http
.
cert_store
=
cert_store
http
.
cert_store
=
cert_store
...
@@ -92,12 +97,12 @@ class GitlabNet
...
@@ -92,12 +97,12 @@ class GitlabNet
request
request
end
end
def
request
(
method
,
url
,
params
=
{})
def
request
(
method
,
url
,
params
=
{}
,
options
=
{}
)
$logger
.
debug
"Performing
#{
method
.
to_s
.
upcase
}
#{
url
}
"
$logger
.
debug
"Performing
#{
method
.
to_s
.
upcase
}
#{
url
}
"
uri
=
URI
.
parse
(
url
)
uri
=
URI
.
parse
(
url
)
http
=
http_client_for
(
uri
)
http
=
http_client_for
(
uri
,
options
)
request
=
http_request_for
(
method
,
uri
,
params
)
request
=
http_request_for
(
method
,
uri
,
params
)
begin
begin
...
@@ -116,8 +121,8 @@ class GitlabNet
...
@@ -116,8 +121,8 @@ class GitlabNet
response
response
end
end
def
get
(
url
)
def
get
(
url
,
options
=
{}
)
request
(
:get
,
url
)
request
(
:get
,
url
,
{},
options
)
end
end
def
post
(
url
,
params
)
def
post
(
url
,
params
)
...
...
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